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

Azure Pipeline如何配置仅在PR合并到master时运行PublishTestResults任务

Azure Pipeline 测试结果发布任务配置方案

你需要将任务原有单条件always()调整为组合条件,同时满足「无论前置任务状态都执行」「仅PR触发构建」「PR目标分支为master」的要求,修改后的完整配置如下:

- task: PublishTestResults@2
  inputs:
     testResultsFormat: cTest
     testResultsFiles: $(Build.SourcesDirectory)/build/Testing/*/Test.xml
     testRunTitle: UnitTest PR $(System.PullRequest.PullRequestId)
  displayName: Publish unittest results
  condition: and(always(), eq(variables['Build.Reason'], 'PullRequest'), eq(variables['System.PullRequest.TargetBranch'], 'refs/heads/master'))
- task: PublishTestResults@2
  inputs:
     testResultsFormat: jUnit
     testResultsFiles: $(Build.BinariesDirectory)/FunctionalTests.xml
     testRunTitle: FunctionalTest PR $(System.PullRequest.PullRequestId)
  displayName: Publish functional test results
  condition: and(always(), eq(variables['Build.Reason'], 'PullRequest'), eq(variables['System.PullRequest.TargetBranch'], 'refs/heads/master'))

条件项说明

  • always():保留原有执行逻辑,无论前置任务成功、失败、被取消,只要流水线运行到该任务节点就会触发执行
  • eq(variables['Build.Reason'], 'PullRequest'):过滤构建触发源,仅当构建由拉取请求事件触发时满足条件
  • eq(variables['System.PullRequest.TargetBranch'], 'refs/heads/master'):过滤PR目标分支,仅当PR要合并到master分支时满足条件,注意该变量默认携带refs/heads/前缀,不能直接用master做匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:48:00