如何从 Gitlab API 获取用户所有已加星标的项目
Posted
技术标签:
【中文标题】如何从 Gitlab API 获取用户所有已加星标的项目【英文标题】:How to get all starred projects by a user from the Gitlab API 【发布时间】:2021-11-22 04:34:53 【问题描述】:我想获取 Gitlab 上某个用户使用 Gitlab API 和 Python(通过 python-gitlab)加注星标的所有项目的列表。
python-gitlab 在users 上的文档没有提到加星标的项目。它可能是一个用户活动,但是关于用户活动的文档只是指用户活动管理器,并且大约有that no further documentation 可用。
使用 Github API 和 pyGithub 可以实现这一目标
import github
g = github.Github()
u = g.get_user()
u.get_starred()
但是,使用 Gitlab APi 和 python-gitlab 我只能做到:
import gitlab
gl = gitlab.Gitlab()
u = gl.users.get()
u.get_starred() # AttributeError
u.starred() # AttributeError
我认为这可能是因为在 Gitlab 网站上我可以看到用户的已加星标的项目。示例:https://gitlab.com/users/username/starred
【问题讨论】:
【参考方案1】:我不确定gitlab
python 包是否有它。但是有一个相同的 REST API。参考这个链接https://docs.gitlab.com/ee/api/projects.html#list-projects-starred-by-a-user
您可以使用 requests
模块使用 python 执行 GET 和 POST 请求。
【讨论】:
它可能不是 Gitlab Python 包的一部分,因为“starred_projects”的a search on their repository 没有提供任何内容。 我明白了。如果适合您,请继续尝试 REST API。 谢谢。会这样做,也许还会向他们提出功能请求。以上是关于如何从 Gitlab API 获取用户所有已加星标的项目的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法使用 gitlab python api 从 gitlab 项目中获取当前和旧用户名?