Jenkins多分支流水线:配置例外分支同时构建PR与原分支
Jenkins多分支流水线:排除已提交PR分支但保留特定分支构建
核心需求实现步骤
开启全局PR分支排除规则
进入多分支流水线配置页面,找到「分支来源」模块,添加「排除已创建拉取请求的分支」行为。这一步会让所有提交了PR的分支默认不再单独构建,仅触发对应PR的构建。添加自定义分支过滤脚本
同样在「分支来源」的行为列表中,添加「Groovy脚本过滤」行为,使用以下脚本实现特定分支的例外规则:// 强制保留master分支,无论是否关联PR if (branch.name == 'master') { return true } // 其他分支:仅当没有关联PR时才保留 return !branch.properties.containsKey('pullRequest')脚本逻辑说明:
- 对master分支直接放行,不受PR关联状态影响
- 其他分支仅在未提交PR时才会被纳入构建范围,提交PR后自动排除
场景验证
- STORY-999分支提交PR:该分支关联PR后,脚本返回false,分支本身不触发构建,仅对应的PR会构建
- master分支提交PR:脚本返回true,master分支正常构建,同时对应的PR也会触发构建
注意事项
- 确保使用的分支源插件(如GitHub Branch Source Plugin)版本支持读取
pullRequest属性 - 若主分支名称为
main而非master,请修改脚本中对应的分支名称
内容的提问来源于stack exchange,提问作者Achiral
相关产品推荐
相关产品推荐

