如何从 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 获取用户所有已加星标的项目的主要内容,如果未能解决你的问题,请参考以下文章

如何检查用户是不是有喜欢的属性

如何在Ubuntu 20.04中为文件加星标

如何从 grafana 的仪表板列表中删除登陆仪表板?

有没有办法使用 gitlab python api 从 gitlab 项目中获取当前和旧用户名?

Android 3.0 - 如何通过 ContactsContract 检索所有联系人

MailCore2,只获取未读消息,或者知道哪些是未读消息