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

Jenkins多分支流水线DSL配置:禁用Bitbucket自动构建求助

解决Jenkins DSL配置多分支流水线禁用自动SCM触发的问题

我明白你遇到的痛点了——在你当前使用的Jenkins版本和插件组合下,确实没有现成的高阶DSL函数来配置"Suppress automatic SCM triggering"选项。不过我们可以通过configure块直接操作Jenkins的底层XML配置来搞定这个需求。

具体修改方案

你需要在现有的configure块中,定位到Bitbucket源的配置节点,手动添加suppressAutomaticTriggering元素并设置为true。修改后的代码片段如下:

multibranchPipelineJob("job") {
    // 保留你原有的其他配置项
    configure { node ->
        // 定位到分支源的核心节点
        def branchSource = node / sources / data / 'jenkins.branch.BranchSource'
        // 定位到Bitbucket源节点(注意class属性要和你现有代码完全匹配)
        def bitbucketSource = branchSource / source(class: 'com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource')
        // 添加禁用自动SCM触发的配置
        bitbucketSource << 'suppressAutomaticTriggering'(true)
    }
}

关键细节说明

  1. 为什么用configure块?:你使用的Bitbucket Branch Source Plugin 2.2.10版本的DSL封装还没有覆盖这个属性,所以需要直接操作Jenkins的配置XML结构来补全这个设置。
  2. class属性要匹配:确保source节点的class属性和你现有代码完全一致(你提到的co...应该是com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource的缩写,补全或保持原有写法都可以)。
  3. 验证配置:运行DSL任务后,进入多分支流水线的配置页面,确认"Suppress automatic SCM triggering"选项已经被勾选即可。

这样修改后,Jenkins扫描分支时就不会立即触发构建了,只会响应手动触发或你配置的其他触发规则(比如定时任务)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:24:21