Python Gitlab API приглашает группу в проект

# #python #api #gitlab #documentation #python-gitlab

Вопрос:

Я пытаюсь добавить группу gitlab в проект после создания проекта. Я вижу в документации API Gitlab, что можно пригласить УЧАСТНИКА в группу или проект (https://docs.gitlab.com/ee/api/invitations.html)

Однако можно пригласить группу в проект с панели мониторинга Gitlab при навигации по меню Участники в разделе Информация о проекте.

введите описание изображения здесь

Как бы я мог добавить группу в проект после ее создания с использованием API python-gitlab?

Ответ №1:

Я нашел решение в https://python-gitlab.readthedocs.io/en/stable/gl_objects/projects.html#project-members

Важно отметить, что Gitlab имеет два типа для проектов, как указано в https://python-gitlab.readthedocs.io/en/stable/gl_objects/groups.html#group-members

Объекты GroupProject, возвращаемые этим вызовом API, очень ограничены и не предоставляют всех функций объектов проекта. Если вам нужно управлять проектами, создайте новый объект проекта:

 first_group_project = group.projects.list()[0]

manageable_project = gl.projects.get(first_group_project.id, lazy=True)
 

Чтобы поделиться проектом с группой, вам нужен объект manageable_project.

 gl = gitlab.Gitlab(settings.GITLABURL, settings.GITLABTOKEN, api_version=4, ssl_verify=False)

gitlab_group = self.gl.groups.list(search="group_name")[0]
project_object = self.gl.projects.get(gitlab_group.id, lazy=True)

project_object.share(project_object.id, gitlab.MAINTAINER_ACCESS)
 

Результат:
введите описание изображения здесь