# #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)