Jenkins multibranch pipeline Scan without execution Jenkins multibranch pipeline Scan without execution jenkins jenkins

Jenkins multibranch pipeline Scan without execution


In your Branch Sources section you can add a Property named Suppress automatic SCM triggering.

This prevents Jenkins from building everything with an Jenkinsfile.


Also, you can do it programatically

import jenkins.branch.*import jenkins.model.Jenkinsfor (f in Jenkins.instance.getAllItems(jenkins.branch.MultiBranchProject.class)) {  if (f.parent instanceof jenkins.branch.OrganizationFolder) {    continue;  }  for (s in f.sources) {    def prop = new jenkins.branch.NoTriggerBranchProperty();    def propList = [prop] as jenkins.branch.BranchProperty[];    def strategy = new jenkins.branch.DefaultBranchPropertyStrategy(propList);    s.setStrategy(strategy);  }  f.computation.run()}

This is a Groovy snippet you can execute in Jenkins, it's gonna do the scanning but will not start new "builds" for all discovered branches.


To add to @Stqs's answer, you could also set noTriggerBranchProperty it using Job DSL plugin, e.g.:

multibranchPipelineJob('example') {  ...  branchSources {    branchSource {      ...      strategy {        defaultBranchPropertyStrategy {          props {            // Suppresses the normal SCM commit trigger coming from branch indexing            noTriggerBranchProperty()            ...          }        }      }    }  }  ...}