非流水线仓库提交关联工作项未显示构建记录是否因仓库不同导致?
问题解答
该问题确实是由于关联work item的commit提交在pipeline存储仓库(Repo1)之外的其他仓库导致的,这是Azure DevOps Pipeline的默认设计限制。
原因说明
Azure DevOps的Integrated in build字段自动关联逻辑仅针对pipeline所属仓库的提交生效:你在pipeline里通过resources配置拉取的其他第三方仓库(如Repo2、Repo3)的commit,即使在构建详情页能识别到关联的work item,也不会自动回写构建记录到对应work item的Integrated in build字段中。
可行解决方案
- 方案1:调整pipeline触发规则,若你使用的是Azure DevOps云端版本/2020.1及以上本地版本,可以在pipeline配置中加入多仓库触发规则,使pipeline和多个目标仓库的变更关联,跨仓库commit关联的work item就会自动同步构建记录。
- 方案2:在pipeline末尾添加自定义脚本步骤,遍历本次构建涉及的所有仓库的commit,提取关联的work item ID,调用Azure DevOps REST API手动更新对应work item的
Integrated in build字段。 - 方案3:将所有需要关联构建记录的仓库作为子模块接入pipeline所属的
Repo1,此时所有提交变更会被识别为Repo1的关联变更,即可自动触发字段同步逻辑。
内容的提问来源于stack exchange,提问作者MakePeaceGreatAgain
相关产品推荐
相关产品推荐

