如何使用Jenkins JobDSL设置';退房至特定的当地分行';在Git插件中?

如何使用Jenkins JobDSL设置';退房至特定的当地分行';在Git插件中?,jenkins,jenkins-job-dsl,Jenkins,Jenkins Job Dsl,我有以下资料: job { scm { git { remote { url(GIT_URL) } branch('master') } } } 它工作得很好,但我希望它将“签出到特定的本地分支”设置为“主”。这是怎么做到的 我在中没有找到任何指向可以使用的内容,但我可能遗漏了一些内容。作业DSL当前不支持该选项,但您可以使用来修改生成的配置XML: job { scm { git { remo

我有以下资料:

job {
  scm {
    git {
      remote {
        url(GIT_URL)
      }
      branch('master')
    }
  }
}
它工作得很好,但我希望它将“签出到特定的本地分支”设置为“主”。这是怎么做到的


我在中没有找到任何指向可以使用的内容,但我可能遗漏了一些内容。

作业DSL当前不支持该选项,但您可以使用来修改生成的配置XML:

job {
  scm {
    git {
      remote {
        url(GIT_URL)
      }
      branch('master')
      configure { node ->
        node / 'extensions' << 'hudson.plugins.git.extensions.impl.LocalBranch' {
          localBranch('master')
        }
      }
    }
  }
}
作业{
供应链管理{
吉特{
遥远的{
url(GIT_url)
}
分支机构(“主机构”)
配置{node->

node/“extensions”自编写接受的答案以来,已添加对“签出到特定本地分支机构”的支持:

job {
  scm {
    git {
      remote {
        url(GIT_URL)
      }
      branch('master')

      extensions {
        localBranch 'master'
      }
    }
  }
}

还有另一种方法可以完成命名的本地分支:

multibranchPipelineJob(pathToJob) {
    branchSources { ... }
    configure {
        def traits = it / sources / data / 'jenkins.branch.BranchSource' / source / traits
        traits << 'jenkins.plugins.git.traits.LocalBranchTrait' {
            localBranch('**')
        }
    }
}
多分支管道作业(路径作业){
分支资源{…}
配置{
def traits=it/sources/data/'jenkins.branch.BranchSource'/source/traits
特点