如何仅在拉取请求已成功合并到 master 时才调用 webhook?

ElF*_*Fik 5 webhooks azure-devops azure-devops-rest-api

我们正在使用Azure DevOps Webhook从客户项目调用我们的服务。

目的是在完成对 master 分支的 PR 后,在其存储库上无缝执行一些操作。

在我的测试中,我设置了一个如下定义的 webhook:事件挂钩订阅设置

您可以看到,我们已将 Webhook 配置为仅在特定存储库上“尝试拉取请求合并”时调用,并在合并成功时调用到“master”分支。

我观察到,这会导致我们的 webhook 在任何时候将提交添加到拉取请求时都会被命中,而不是仅在拉取请求完成时才被命中。

仅对成功完成的特定分支的 PR 执行操作的正确机制是什么?

我们是否应该对代码进行一些操作来验证,或者我们是否应该让客户在服务挂钩订阅中进行不同的设置?

Fai*_*roz 4

您应该使用“拉取请求已更新”事件和“状态已更改”过滤器。任何 PR 状态更改都会触发事件。仅当状态更改为“已完成”时,您才能在 API 中执行操作。

在此输入图像描述