查询构建因超时而失败-Azure DevOps Server

时间:2020-08-28 08:04:38

标签: azure-devops azure-devops-server-2020

在我们的开发环境中,我们有很多存储库,大量的构建和大量的构建服务器,并且大多数情况下它们按应有的方式工作-但是,我们看到由于超时而导致构建失败的数量有所增加。

之所以不会发生这些超时,是因为我们已经接近极限,而是因为某些“卡住/阻塞”在管道中,并且一直停留在该步骤上,直到超时导致构建终止。

为了更好地调试为什么会发生这种情况,我们需要能够查询由于该超时而导致构建失败的原因,因此我们可以查看是否是特定的构建服务器或代理出现此问题。

我们在API中找不到任何会导致超时错误的内容,但是我们可以看到UI能够以某种方式扣除它:

Screenshot of timeout

到目前为止,我们已经将其范围缩小到查询所有具有完成状态(through this API)的构建,但是我们没有完成原因,并且构建时间永远不会与构建定义的超时完全相同,因此“猜测“执行计划中的内容也会有些动摇。

我们如何才能将构建过滤到仅超时的构建?

1 个答案:

答案 0 :(得分:1)

我们可以使用下面的API来获取构建的详细信息。

注意:不要添加timelineId,我们应该列出所有信息

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/timeline?api-version=6.1-preview.2

如果由于超时设置取消了构建,我们将收到消息:The job running on agent Hosted Agent ran longer than the maximum time of xxx minutes. For more information, see https://go.microsoft.com/fwlink/?linkid=2077134

enter image description here

顺便说一句,我们可以使用API​​ Builds - List来过滤所有失败的构建。如果由于超时设置取消了构建。结果失败,而不是取消。