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

如何在创建Pull Request时触发Jenkins多分支流水线?

配置Jenkins在Pull Request创建时触发流水线

前提准备

先安装对应代码托管平台的Jenkins插件:

  • 若用GitHub:安装「GitHub Integration Plugin」和「GitHub Pull Request Builder Plugin」
  • 若用GitLab:安装「GitLab Plugin」
  • 若用Bitbucket:安装「Bitbucket Integration Plugin」

Freestyle项目配置步骤

  1. 进入目标Jenkins项目的「配置」页面
  2. 找到「构建触发器」区域,勾选对应平台的PR触发选项(比如GitHub的「GitHub Pull Request Builder」)
  3. 在触发条件设置里,选择仅当Pull Request被创建时触发(不要勾选合并相关的触发选项)
  4. 设置分支过滤规则:指定源分支为branch1、branch2等(或用正则^branch\d+$匹配所有分支),目标分支限定为master
  5. 保存配置,同时在代码托管平台的仓库设置中添加Jenkins的webhook,确保webhook能捕获「Pull Request opened」事件

Pipeline项目配置(Jenkinsfile)

直接在流水线脚本中通过trigger指令配置PR创建触发,以GitHub为例:

pipeline {
    agent any
    triggers {
        githubPullRequest {
            // 匹配任意PR创建事件,无需特定触发语
            triggerPhrase '.*'
            onlyTriggerPhrase false
            // 启用GitHub webhook触发
            useGitHubHooks true
            // 允许所有PR触发流水线
            permitAll true
            // 添加PR状态反馈到GitHub
            extensions {
                commitStatus {
                    context 'ci/jenkins'
                    triggeredStatus 'Jenkins流水线已启动'
                    startedStatus 'Jenkins流水线运行中'
                    completedStatus('SUCCESS', '流水线执行成功')
                    completedStatus('FAILURE', '流水线执行失败')
                }
            }
        }
    }
    stages {
        stage('构建验证') {
            steps {
                echo 'PR已创建,开始执行流水线验证'
                // 此处添加你的构建、测试步骤
            }
        }
    }
}

配置完成后,同样需要在GitHub仓库设置中添加指向Jenkins实例/github-webhook/路径的webhook,并勾选「Pull Request」相关事件。


关键注意事项

  • 确保Jenkins拥有代码托管平台的访问权限(比如GitHub个人访问令牌),能正常拉取PR对应的代码
  • 不同托管平台的插件配置逻辑类似,核心是选择「PR创建」而非「PR合并/接受」作为触发条件
  • 可通过分支过滤规则,精准控制哪些源分支的PR会触发流水线

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 15:25:25