如何解决如何发布一个问题的注释并关闭这个问题
我发现了一个问题并通过以下方式获取了详细信息:
获取https://localhost/api/v4/projects/2779/issues/2
我可以通过以下方式向问题添加 new_comment:
POST https://localhost/api/v4/projects/2779/issues/2/notes?body=new_comment
如何通过添加评论立即关闭此问题?
我已经尝试通过以下方式关闭而不发表评论:
PUT https://localhost/api/v4/projects/2779/issues/2?state_event=close"
它可以工作,但我必须先请求 POST 进行评论,然后再请求 PUT 以关闭它。
解决方法
添加评论
Issue "Closing issues automatically" section 提到:
如果提交消息或合并请求描述包含与定义的模式匹配的文本,则匹配文本中引用的所有问题都将关闭。
当提交被推送到项目的默认分支时,或者当提交或合并请求合并到其中时,就会发生这种情况。
例如,如果合并请求描述中包含 Closes #4,#6,Related to #5
,则在合并 MR 时会自动关闭问题 #4
和 #6
,但不会自动关闭 #5
。
所以“评论”与提交或 MR(合并请求)相关,而不是对问题本身的评论。
Edit issue API 建议通过以下调用来解决问题:
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues/85?state_event=close"
这应该与您尝试过的非常相似,只是您需要带有 right scope (api) 的 PAT(个人访问令牌)。
正如 OP 发现的那样,PUT 仅在对所述问题发表评论后才有效:Create new issue note
POST /projects/:id/issues/:issue_iid/notes
,
您可以在评论末尾添加 \n/close
以在添加评论时通过单个 API 调用关闭问题。
POST https://localhost/api/v4/projects/2779/issues/2/notes?body=new_comment\n/close
这是有效的,因为 /close
是 quick actions 之一。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。