Python Gitlab API 找到一个项目的创建者

Python Gitlab API find creator of a project

import gitlab
gl = gitlab.Gitlab('http://gitlab.mycompany', private_token=access_token)
gl.auth()
projects = gl.projects.list()
pres = projects[0]
for project in projects:
    if 'myprojectname' in str(project):
        print(project)
        pres = project
# do something with pres

我正在尝试在 Python 中使用 Gitlab 库。当我打印 str(project) 时,它不包含有关谁创建回购的信息。另外,当我 运行

for member in pres.members.list():
    print(member)

它只打印受邀成员,不打印所有者或拥有回购组的人。

是否可以找到创建 Gitlab 存储库的人?

在这里搜索项目成员:https://python-gitlab.readthedocs.io/en/stable/gl_objects/projects.html#project-members

您可以尝试更多选项:

最后但同样重要的是,如果你找不到解决问题的方法,你总是可以通过请求模块使用纯 gitlab API 来解决问题 https://docs.gitlab.com/ee/api/members.html

项目创建者的 ID 在项目端点的 creator_id 属性中公开(请参阅 https://docs.gitlab.com/ee/api/projects.html#list-all-projects 处的上游 API 文档)。

然后您可以使用用户 API 获取有关创建者用户的更多详细信息(如 https://python-gitlab.readthedocs.io/en/stable/gl_objects/users.html 中所述):

import gitlab
gl = gitlab.Gitlab('http://gitlab.mycompany', private_token=access_token)
gl.auth()
projects = gl.projects.list(as_list=False)

for project in projects:
    creator = gl.users.get(project.creator_id)
    print(creator.username)