将 SCM 凭据添加到通过 Jenkins 中的 DSL 创建的作业

Adding SCM credentials to jobs created through DSL in Jenkins

我正在尝试自动构建 SVN 分支中存在的项目。我正在使用 DSL 为每个项目创建新工作,然后分别构建它们。我可以通过循环为每个项目创建新工作:

job('JobName') {
    scm {    
        svn('MyURL')                    
    }
}

但是,url 是内部的,需要 Jenkins 的用户名和密码组合才能从 SVN 检出。我知道使用 UI 可以轻松完成,但对于大量项目,这需要自动化。我们如何在 DSL 中提供此凭据?理想情况下,有一种方法可以将它与 Url 一起指定给 SVN。 我花了一整天的时间寻找答案,但运气不佳,非常感谢您的帮助

谢谢

svn 方法在嵌套块中有更多选项,还允许指定凭据:

job('example') {
  scm {
    svn {
      location('https://svn.mydomain.com/repo/project2/trunk') {
        credentials('company-svn')
      }
    }
  }
}

在这种情况下,company-svn 是由 Credentials Plugin 管理的凭据的标识符。

您可以在作业 DSL API 查看器中找到所有支持的选项: https://jenkinsci.github.io/job-dsl-plugin/#path/job-scm-svn-location-credentials