如何仅在Azure Repo的Pull Request合并完成时触发Azure Pipeline?
仅在Pull Request合并完成时触发Azure Pipeline的解决方案
推荐方法:通过分支策略配置“合并后触发”
这种方式能完全实现仅PR合并到main时触发流水线,直接提交main分支不会触发:
- 删除YAML中原有分支触发器配置:
# 移除这段配置 trigger: branches: include: - main - 进入Azure Repos仓库的分支策略页面,找到
main分支的策略设置。 - 在“完成后”区域,点击“添加”,选择你需要触发的目标流水线。
- 勾选“合并拉取请求后触发”选项,保存配置。
此后只有当Pull Request合并到main分支时,才会自动触发该流水线,直接向main分支提交代码不会触发。
备选方法:通过提交信息过滤(有局限性)
如果必须保留分支触发器,可通过检查提交信息判断是否为PR合并提交,仅当提交信息包含PR合并标识时才执行流水线任务:
trigger: branches: include: - main stages: - stage: ExecuteOnlyOnPRMerge condition: contains(variables['Build.SourceVersionMessage'], 'Merge pull request') jobs: - job: MainJob steps: # 这里放置你的流水线任务
注意:此方法依赖PR合并的默认提交信息格式,若手动提交信息包含相同字符串会误触发,仅作为备选方案。
内容的提问来源于stack exchange,提问作者Johnason ham
相关产品推荐
相关产品推荐

