0

传入 webhook 可以在 Azure DevOps Server 版本Dev18.M170.6上触发,但不能在 Azure DevOps Server 2020.1.RC2上触发。

我收到来自2020.1.RC2的错误消息:

Cannot find webhook for the given webHookId CodeSyncTrigger. Try enabling CD trigger for this artifact.

下面是使用 postman 测试相关 API 的快照。

调用 Azure DevOps Server 2020.1.RC2 6.0-preview 传入 webhook API: 调用 Azure DevOps Server 2020.1.RC2 6.0-preview 传入 webhook API

调用 Azure DevOps Server Dev18.M170.6 6.0-preview 传入的 webhook API,HTTP 状态为 200 OK: 调用 Azure DevOps Server Dev18.M170.6 6.0-preview 传入 webhook API,HTTP 状态为 200 OK

有没有办法让它在 Azure DevOps Server 2020.1.RC2 上运行?

4

2 回答 2

0

我找到原因了!!!

https://developercommunity.visualstudio.com/t/cannot-use-generic-webhook-based-triggers-for-yaml/1135943#T-N1203277

  1. 服务连接名称不需要与 webhook 名称相同。webhook 名称是 API url 中需要使用的名称。服务连接名称是需要在 yml 的“connection:”行中引用的。

  2. Webhook 名称不能是 Azure DevOps 项目 ID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) 的命名约定/架构。

  3. 创建/修改 webhook 服务连接后,您必须对引用该 webhook 服务连接的每个 azure-pipeline.yml 进行更改(并提交),以使其对该 repo/管道生效。一个简单的#comment 就可以了。

  4. azure-pipelines.yml 中的“webhook:”(别名)行不能有连字符,否则您的 yaml 将无效并且 webhook 将不起作用(请参阅 #5)。

  5. azure-pipelines.yml 不得有任何错误。要进行验证,请尝试手动运行管道。如果管道启动,那么你应该很好。

  6. 它只会触发主分支。如果您将 webhook 资源配置添加到非 master 分支,它将不会被触发(这对我们来说是一个巨大的失望*)。

  7. 您不能在过滤器中使用通配符(这对我们来说也是一个巨大的失望*)。

于 2021-05-25T16:11:04.423 回答
0

在我的情况下,解决方案是更改默认分支,因为我托管 yaml 不在主分支中

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/pipeline-default-branch?view=azure-devops#:~:text=By%20default%2C%20a%20pipeline's%20default ,...%20and%20select%20Triggers

于 2022-01-18T19:09:11.263 回答