You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Azure DevOps已触发构建中获取对应的构建资源信息

解决方法

方法1:调用关联制品查询接口直接获取

不需要依赖TriggerInfo或TriggeredByBuild字段,直接调用指定构建ID的关联制品接口即可拿到所有消耗的上游构建资源详情:
接口路径格式为:
GET {组织地址}/{项目名}/_apis/build/builds/{当前构建ID}/associatedartifacts?api-version=6.0
返回结果中resource字段下会包含上游管道的构建ID、管道名称、运行版本、分支等所有需要的元数据。

方法2:在流水线中直接落盘依赖信息(更高效)

如果后续有频繁查询的需求,可以直接在当前流水线的脚本步骤中读取系统预定义变量,将依赖的上游资源信息写入构建标签、构建说明或者自定义制品清单中,后续无需额外调用接口即可直接获取。
可直接使用的预定义变量示例如下(变量名中的artifacts对应你配置的pipeline资源别名):

  • 上游构建ID:$(resources.pipeline.artifacts.runID)
  • 上游构建所属分支:$(resources.pipeline.artifacts.sourceBranch)
  • 上游构建编号:$(resources.pipeline.artifacts.runName)
    你可以直接在yaml中添加步骤将这些信息打为构建标签:
steps:
- powershell: |
    Write-Host "##vso[build.addbuildtag]UpstreamBuild_$(resources.pipeline.artifacts.runID)"
  displayName: 打上上游构建ID标签

补充说明

你之前调用的构建详情接口没有返回对应字段是batched CI触发场景的已知特性:批量合并触发的流水线不会填充TriggerInfo的上游触发字段,只有单提交触发的流水线才会返回该类数据,不属于接口调用错误。

内容的提问来源于stack exchange,提问作者Torbjörn Bergstedt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:54:08