如何使用 Jenkins JobDSL 在 Git 插件中设置“签出到特定的本地分支”?

Noe*_*Yap 6 jenkins jenkins-job-dsl

我有以下几点:

job {
  scm {
    git {
      remote {
        url(GIT_URL)
      }
      branch('master')
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我希望它将“签出到特定的本地分支”设置为“主”。这是怎么做的?

我在https://github.com/jenkinsci/git-plugin/blob/master/src/main/java/hudson/plugins/git/GitSCM.java中没有找到任何指向任何可以使用的东西,但我可能错过了什么。

sam*_*wis 6

由于已接受的答案已写好,因此添加了对“签出到特定本地分支”的支持:

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

      extensions {
        localBranch 'master'
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)


das*_*ker 4

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

job {
  scm {
    git {
      remote {
        url(GIT_URL)
      }
      branch('master')
      configure { node ->
        node / 'extensions' << 'hudson.plugins.git.extensions.impl.LocalBranch' {
          localBranch('master')
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)