Azure DevOps:我们能否识别从变更集编号触发的构建?

Azure DevOps: Can we identify Builds triggered from a changeset number?

我为持续集成设置了某些构建,即为每次签入构建。 我有一个自动执行代码合并和签入的方法;现在我想获取为创建的特定变更集触发的构建列表。我们有什么办法可以得到这些信息吗?

我会使用 REST API 这样您就可以检查 运行:

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

将 return 所有构建,然后您可以浏览并检查更多详细信息。您还可以在请求中包含更多过滤器(例如基于构建定义)。

您可以通过以下方式获得构建细节:

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

这将为您return提供如下信息:

"triggerInfo": {
    "ci.sourceBranch": "refs/heads/master",
    "ci.sourceSha": "0fcb5a27ca2f73561dde0a066a1ec1781128fa81",
    "ci.message": ""
},
...
"sourceBranch": "refs/heads/master",
"sourceVersion": "0fcb5a27ca2f73561dde0a066a1ec1781128fa81",

对于从 git 存储库排队的构建或

{ ...
  "sourceBranch": "$/Build Test",
  "sourceVersion": "93",
... }

对于 TFVC 存储库。它实际上也会包含一个触发信息,但我没有任何基于 TFVC 自动触发的构建。

git 中的 sourceVersion 将是提交哈希,而在 TFVC 中它是变更集。

有关 REST API 的更多详细信息,请参阅 Microsoft Docs