我正在编写一个REST客户端,以便在一个合并的位置同时查看几个gitlab服务器提供的项目信息。我理解REST并能够提取我需要的项目细节,除了一个:标签。
我不是在谈论git存储库标签,我能够做得很好。我指的是在“项目设置”下设置的标签。从我可以看出,这些标签是一种描述项目的形式,而不是引用特定的提交哈希值。
答案 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
关键字混淆,您可能无法找到它,我认为它已在某个时候重命名,所以总是搜索两者。