首页 > 解决方案 > 如何通过 DevOps REST API 获取特定 Commit 的构建列表

问题描述

我需要通过 Azure DevOps REST API 检索与特定 Commit 关联的构建列表(参见 TFS UI 图片)。我可以通过使用蛮力来做到这一点:

  1. 通过API 调用为我的存储库加载所有构建。在这里找不到提交过滤器:

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds

  1. 然后过滤掉只有指定的构建"commitId": "eed1b008520c2b32669bef9a0a08be8a50b6e8a4"

但这是一种效率极低的解决方案。如果有更有效的方法,你能帮我吗?我尝试使用链接加载提交的详细信息,但没有构建或构建的链接。

Azure DevOps UI 中的构建列表

标签: restazure-devops

解决方案


有用于提交的状态 API 。似乎在开始和结束构建时,会发布适当的状态。

所以当我打电话时 GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}/statuses?api-version=5.1

我得到了与 Commit 及其状态相关的所有最后构建。

感谢 Hugh Lin 为我指明方向..


推荐阅读