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

Jenkins配置Bitbucket推送触发构建:如何排除特定用户?

如何让Jenkins排除特定Bitbucket用户触发构建

方法1:在Jenkins端拦截(Freestyle/Pipeline都适用)

  • Freestyle项目:安装Pre-build Conditions插件,添加「运行条件」并选择「用户条件」,设置为“排除指定用户”,填入用户A的Bitbucket用户名(注意要和Jenkins识别的账号名一致,避免写错)。
  • Pipeline项目:直接在脚本开头加判断逻辑,优先用提交者邮箱筛选(比名字更精准,不会重名):
pipeline {
    agent any
    triggers {
        bitbucketPush()
    }
    stages {
        stage('校验提交用户') {
            steps {
                script {
                    // 获取最近一次提交的邮箱
                    def commitEmail = sh(script: 'git log --pretty=format:"%ae" -n 1', returnStdout: true).trim()
                    // 匹配到排除用户则终止构建
                    if (commitEmail == 'userA@example.com') {
                        error('该用户提交的代码不触发构建,终止流程')
                    }
                }
            }
        }
        // 此处放置正常的构建步骤
    }
}

方法2:在Bitbucket源头拦截(更高效)

登录Bitbucket仓库找到对接Jenkins的Webhook,编辑其「触发条件」,添加规则:提交者用户名 ≠ 用户A。这样Bitbucket直接不会给Jenkins发送触发请求,从源头避免无效构建。

注意事项

  • 用用户名判断时,要确认Jenkins获取到的是Bitbucket账号的官方用户名,而非昵称;用邮箱筛选更稳妥,因为Bitbucket账号的邮箱是唯一的。
  • 如果Jenkins通过OAuth连接Bitbucket,需确保权限足够读取提交者信息,否则无法获取用户数据导致判断失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:20:42