multibranchPipelineJob 作业 DSL:如何启用发现分支和抑制自动 SCM 触发

Rob*_*rdi 2 jenkins jenkins-job-dsl multibranch-pipeline

如何在 Jenkins 作业 DSL 中为多分支管道启用行为Discover Benches和 Property 策略Suppress 自动 SCM 触发

在此输入图像描述

Rob*_*rdi 5

可以这样做:

multibranchPipelineJob('job name') {
    branchSources {
        branchSource {
            source {
                git {
                    remote('https://<repo address>.git')
                    credentialsId('credential id')
                }
            }
            strategy {
                defaultBranchPropertyStrategy {
                    props {
                        noTriggerBranchProperty()
                    }
                }
            }
        }
    }
    configure {
        def traits = it / sources / data / 'jenkins.branch.BranchSource' / source / traits
        traits << 'jenkins.plugins.git.traits.BranchDiscoveryTrait' {}
    }
    triggers {
        periodic(2) // Trigger every 2 min.
    }
    orphanedItemStrategy { discardOldItems { numToKeep(-1) } }
}
Run Code Online (Sandbox Code Playgroud)