gitlab api标记创建错误

gitlab api标记创建错误,gitlab,gitlab-api,Gitlab,Gitlab Api,您好,我正在尝试使用gitlab api为项目创建一个标记,但它一直说标记名无效。我甚至尝试在gitlab api文档中使用该示例 以下是我的尝试: ➜ /tmp curl -X POST -d @body.json https://mygitlabserver.com/api/v3/projects/9733/repository/tags --header "Content-Type:application/json" -H "PRIVATE-TOKEN:sNW8AGtLMdSGAJiG

您好,我正在尝试使用gitlab api为项目创建一个标记,但它一直说标记名无效。我甚至尝试在gitlab api文档中使用该示例

以下是我的尝试:

➜  /tmp  curl -X POST -d @body.json https://mygitlabserver.com/api/v3/projects/9733/repository/tags --header "Content-Type:application/json" -H "PRIVATE-TOKEN:sNW8AGtLMdSGAJiGQ-gV"
{"message":"Tag name invalid"}% 

➜  /tmp  cat body.json 
{
    "commit": {
        "author_email": "john@example.com",
        "author_name": "John Smith",
        "authored_date": "2012-05-28T04:42:42-07:00",
        "committed_date": "2012-05-28T04:42:42-07:00",
        "committer_email": "jack@example.com",
        "committer_name": "Jack Smith",
        "id": "2695effb5807a22ff3d138d593fd856244e155e7",
        "message": "Initial commit",
        "parents_ids": [
            "2a4b78934375d7f53875269ffd4f45fd83a84ebe"
        ]
    },
    "message": null,
    "name": "v1.0.0",
    "release": {
        "description": "Amazing release. Wow",
        "tag_name": "1.0.0"
    }
}  
这辆车在里面

#创建标签
#
#参数:
#id(必需)-项目的id
#标签名称(必填)-标签的名称
#ref(必需)-从提交sha或分支创建标记
#消息(可选)-指定消息将创建带注释的标记。
#请求示例:
#POST/projects/:id/repository/tags
post':id/repository/tags'do
授权推送项目
message=params[:message]| | nil
结果=CreateTagService.new(用户\项目,当前\用户)。
执行(参数[:标记名称]、参数[:参考]、消息、参数[:发布描述])
它叫

valid\u tag=Gitlab::gitreffalidater.validate(tag\u name)
实际上,将调用包装为git check ref format:

def验证(参考名称)
Gitlab::Utils.system\u静默(
%W(#{Gitlab.config.git.bin_path}检查ref格式refs/#{ref_name}))
结束
因为其中一条规则是:

它们必须至少包含一个
/
。这将强制存在一个类别,如
heads/
tags/
等,但实际名称不受限制

请尝试,仅用于使用以
tags/xxx
开头的标记名进行测试


如果这样做有效,那将是验证
标记名的错误。

我就是这样做的

这是一个post请求:

curl -X POST -k -H 'PRIVATE-TOKEN: XXXXXXX' \
'https://mygitlabserver.com/api/v3/projects/9733/repository/tags?tag_name=0.0.9&ref=develop'

谢谢,但还是一样➜ /tmp curl-X POST-d@body.json——标题“内容类型:application/json”-H”PRIVATE-TOKEN:sNW8AGtLMdSGAJiGQ gV“{”消息“:“标记名无效”}%➜ /tmp cat body.json{“message”:null,“name”:“tags/v1.0.0”}我想这就是您让我尝试的?如果没有,请详细说明?\@PramodSetlur尝试并修改以添加更多跟踪,以便查看运行的确切git命令。无法访问承载API的框:/@好的。试着在你的桌面上安装一个,并通过对localhost的curl调用进行测试:在那里你可以修改任何你想要的东西。我在回答中看到了ref参数,这一点很好+1.