GitHub为什么检查不反映Azure Pipelines的构建状态?

时间:2019-02-12 11:26:33

标签: github azure-devops azure-pipelines

我正在尝试将Azure Pipelines配置添加到现有项目bundler/bundler中。这是添加配置的PR: https://github.com/bundler/bundler/pull/6899

在维护者之一在Azure Pipelines上建立bundler/bundler项目时,此PR已触发生成: https://dev.azure.com/bundler/bundler/_build/results?buildId=11 请注意,该版本带有绿色选中标记,并标记为已完成。

(还要注意,在构建中有 loading 失败的测试,因为以前没有在Windows上进行过测试。无论如何要使构建成功-并非 all 我在修复测试时,PR和commit在Github上显示红色的“ x”,我在测试命令的末尾添加了|| exit 0-在Azure Pipelines上可以正常使用

Azure Pipelines与GitHub集成的一项功能是,通过名为“检查”的功能将构建结果显示在Github中: https://github.com/bundler/bundler/pull/6899/checks

(PR页面的末尾还包括它的较短版本:https://github.com/bundler/bundler/pull/6899#partial-pull-merging

不幸的是,此检查未反映Azure Pipelines上的生成状态,仍显示为“进行中”:

check status on check page

check status on PR page

您知道为什么GitHub检查不能反映Azure Pipelines上的生成状态吗?


让我进一步困惑的是,在创建bundler/bundler项目时,由Azure Pipelines自动创建的Pull Request中与Azure Pipelines的集成实际上工作得很好(检查是否正确反映了构建状态):{ {3}}

但是:它实际上也不是我在PR中创建的Azure Pipelines配置,因为相同的配置在我的fork中也可以正常使用:https://github.com/bundler/bundler/pull/6955(请参阅捆绑器任务的绿色复选标记)。 (另一方面:Azure Pipelines根本不使用Github的“检查”功能)

1 个答案:

答案 0 :(得分:2)

很好的问题。 最可能的原因是,Azure Pipelines与GitHub之间的通信存在一些故障。这种情况很少见,但有时GitHub和Azure Pipelines之间的网络挂钩不会触发。没有办法说出它为什么发生。可能是任何一方的问题。

不幸的是,无法重新发送未交付的Webhook。您唯一的办法是重建该拉取请求。如果您选择“重建”选项(在...菜单中):

然后,将对新的构建进行排队,并在完成后将状态更新发送回GitHub。然后,拉取请求中的支票将被更新。


不太可能(但绝对可能)的原因是Azure管道或GitHub中存在错误。在这种特殊情况下,该代码存在一个错误,该错误将测试结果从Azure Pipelines上传到测试用例管理器API。

(感谢您报告此问题,很抱歉我们在这里遇到了一些问题,但是我们很高兴能够解决此问题。)