Как получить репозитории реестра и теги, связанные с конкретным проектом c gitlab - PullRequest
0 голосов
/ 28 мая 2020

Я хотел бы получить соответствующие репозитории реестра и теги для проекта gitlab. Прямо сейчас мой код пытается сделать это для одного проекта, но позже мне придется масштабировать это для нескольких проектов и обновлять по мере обновления тегов.

Вот мой код, но я не получаю реестры как и ожидалось, вместо этого ошибка 404.

# private token authentication
parser = argparse.ArgumentParser()
parser.add_argument("--token","-t",help="Gitlab token used to login")
args = parser.parse_args()
if not args.token:
    raise ValueError("No gitlab token specified")
gl = gitlab.Gitlab('https://gitlab.abcdef.com', private_token=args.token)

project = gl.projects.get('https://gitlab.abcdef.com/xyz/reflection')
repositories = project.repositories.list()
repository = repositories.pop()
tags = repository.tags.list()

print(tags)

Я попробовал это, посмотрев на примеры здесь: https://python-gitlab.readthedocs.io/en/stable/gl_objects/repository_tags.html

Что я делаю неправильно? Как я могу получить список. Большое спасибо за любую помощь!

1 Ответ

0 голосов
/ 28 мая 2020

Обновление: у меня это работает с помощью project_id, однако в идеале я бы хотел, чтобы он работал с использованием имени проекта или URL-адреса, так как мне нужно oop через и захватить реестры и теги для ряда проектов gitlab.

# private token authentication
parser = argparse.ArgumentParser()
parser.add_argument("--token","-t",help="Gitlab token used to login")
args = parser.parse_args()
if not args.token:
    raise ValueError("No gitlab token specified")
gl = gitlab.Gitlab('https://gitlab.abcdef.com', private_token=args.token)

project_id = 85
project = gl.projects.get(project_id)

repositories = project.repositories.list()
repository = repositories.pop()
tags = repository.tags.list()
print(repositories)
print(tags)

Я получаю список тегов и репозиториев реестра.

...