如何通过API检索Gitlab Project标签列表?

时间:2014-11-13 21:30:21

标签: api rest gitlab

我正在编写一个REST客户端,以便在一个合并的位置同时查看几个gitlab服务器提供的项目信息。我理解REST并能够提取我需要的项目细节,除了一个:标签。

我不是在谈论git存储库标签,我能够做得很好。我指的是在“项目设置”下设置的标签。从我可以看出,这些标签是一种描述项目的形式,而不是引用特定的提交哈希值。

3 个答案:

答案 0 :(得分:3)

我向Gitlab人员提交了合并请求,如果接受,任何涉及Project类的REST调用都将包含一个包含所有项目标签的“tag_list”字段。

合并请求可在此处获取:https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/329

编辑:这是在Gitlab版本7.10.0中合并的,所以现在你可以在项目上运行GET,而tag_list将包含在JSON响应中。

答案 1 :(得分:1)

试试这个:

http://www.example.com.br/api/v3/projects/#{str}/repository/tags?private_token=yourtoken"

请注意,在#{str}变量中,如果您使用组/存储库结构,则必须将短划线替换为%2F,例如,您必须设置:

http://www.example.com.br/api/v3/projects/group%2Frepository/repository/tags?private_token=yourtoken"

对您的请求的回复将是正文。因此,您可以控制日志response.body来检索标记。

答案 2 :(得分:0)

不可能:在http://feedback.gitlab.com/forums/176466-general/suggestions/6325819-project-labels-via-api接受合并请求,因此如果您需要,请随意实施。

应该很简单:只需从https://github.com/mbleigh/acts-as-taggable-on

返回project.tag_list(请参阅:https://github.com/gitlabhq/gitlabhq/blob/41518a467dcef61deca24ad2f6205c6fd5706e1b/lib/api/projects.rb#L60)作为JSON列表

请务必首先检查请求跟踪器的功能;)是的,在这种情况下,由于label vs tag关键字混淆,您可能无法找到它,我认为它已在某个时候重命名,所以总是搜索两者。