Как я могу получить репозитории реестра и теги, связанные с конкретным проектом gitlab
Я хотел бы получить соответствующие репозитории реестра и теги для проекта 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 ответ
Обновление: у меня это работает с помощью project_id, однако в идеале я бы хотел, чтобы он работал с именем проекта или URL-адресом, поскольку мне нужно перебирать и получать реестры и теги для ряда проектов 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)
Я получаю список тегов и репозиториев реестра.