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

如何通过Azure DevOps Builds Queue REST API实现父子流水线视觉关联?

问题描述

父流水线成功运行后,需通过Builds Queue REST API触发子流水线(因要传递模板参数),但遇到问题:通过常规YAML资源触发器触发时,子流水线中会显示触发它的父流水线可点击链接;而API触发的子流水线无法显示该关联,导致难以追踪触发关系。当前使用的curl调用代码如下:

# Trigger deployment pipeline
RESPONSE=$(curl -X POST \
   -H "Content-Type: application/json" \
   -u :$(System.AccessToken) \
   --data "{
       'definition': {
       'id': $PIPELINE_ID
       },
       'templateParameters': '{\"deployReason\": \"automated\"}',
       'reason': 'buildCompletion',
       'project': {'id': $SYSTEM_PROJECTID}
       'triggeredByBuild': '{
          \"definitionId\": $SYSTEM_DEFINITIONID,
          \"id\": $BUILD_BUILDID,
          \"buildNumber\": $BUILD_BUILDNUMBER'}
      }" \
   "$SYSTEM_COLLECTIONURI/$SYSTEM_TEAMPROJECT/_apis/build/builds?api-version=7.0")
解决方案

要实现和常规资源触发器一致的父流水线关联显示,需修正API请求中的JSON格式问题和关联字段结构,具体修改如下:

  1. 修复JSON语法错误:在project字段末尾添加逗号,避免请求体解析失败
  2. 调整triggeredByBuild结构:将其从字符串格式改为嵌套JSON对象(原代码错误地将该对象包裹为字符串,导致Azure DevOps无法识别关联关系)
  3. 优化参数格式:templateParameters可直接传递JSON对象(若保持字符串格式需确保转义正确)

修正后的curl代码:

# Trigger deployment pipeline
RESPONSE=$(curl -X POST \
   -H "Content-Type: application/json" \
   -u :$(System.AccessToken) \
   --data "{
       'definition': {
           'id': $PIPELINE_ID
       },
       'templateParameters': {\"deployReason\": \"automated\"},
       'reason': 'buildCompletion',
       'project': {'id': $SYSTEM_PROJECTID},
       'triggeredByBuild': {
           \"definitionId\": $SYSTEM_DEFINITIONID,
           \"id\": $BUILD_BUILDID,
           \"buildNumber\": \"$BUILD_BUILDNUMBER\"
       }
   }" \
   "$SYSTEM_COLLECTIONURI/$SYSTEM_TEAMPROJECT/_apis/build/builds?api-version=7.0")

说明:

  • 修正后triggeredByBuild作为嵌套对象传递,Azure DevOps会识别该关联并在子流水线页面显示父流水线的可点击链接
  • 若BUILD_BUILDNUMBER包含特殊字符,需添加双引号包裹确保JSON格式正确

内容的提问来源于stack exchange,提问作者petrovski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:52:47