如何发布问题注释并关闭此问题



我发现了一个问题,并通过以下方式获取了它的详细信息:

获取https://localhost/api/v4/projects/2779/issues/2

我可以通过以下方式为该问题添加new_comment:

发布https://localhost/api/v4/projects/2779/issues/2/notes?body=new_comment

如何通过添加评论立即关闭此问题?

我只尝试通过以下方式关闭而不发表评论:

https://localhost/api/v4/projects/2779/issues/2?state_event=close"它可以工作,但我必须使用请求第一个 POST 进行评论,然后 PUT 关闭它。

您可以在注释末尾添加n/close,以便在添加注释时通过单个 API 调用来解决问题。

POST https://localhost/api/v4/projects/2779/issues/2/notes?body=new_commentn/close

这是有效的,因为/close是快速操作之一。

添加注释

问题"自动关闭问题"部分提到:

如果提交消息或合并请求描述包含与定义的模式匹配的文本,则匹配文本中引用的所有问题都将关闭.
当提交被推送到项目的默认分支时,或者当提交或合并请求被合并到其中时,就会发生这种情况。

例如,如果合并请求描述中包含Closes #4, #6, Related to #5,则在合并 MR 时会自动关闭问题#4#6,但不会#5

因此,"注释"与提交或MR(合并请求)有关,而不是对问题本身的评论。

编辑问题 API 建议使用以下调用来关闭问题:

curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues/85?state_event=close"

这应该与您尝试过的非常相似,除了您需要具有正确范围 (api) 的 PAT(个人访问令牌)。

正如OP所发现的那样,PUT只有在对所述问题发表评论后才有效: 创建新的问题说明

POST /projects/:id/issues/:issue_iid/notes

最新更新