JobDSL 自定义配置文件

JobDSL custom config file

我正在尝试使用自定义配置文件设置 jenkins 作业,原始 xml 如下所示(相关部分):

<buildWrappers>
  <org.jenkinsci.plugins.configfiles.buildwrapper.ConfigFileBuildWrapper plugin="config-file-provider@2.11">
    <managedFiles>
      <org.jenkinsci.plugins.configfiles.buildwrapper.ManagedFile>
        <fileId>30de8d2f-621d-4c51-b644-4302b548fd15</fileId>
        <targetLocation>./src/</targetLocation>
        <variable/>
        <replaceTokens>false</replaceTokens>
      </org.jenkinsci.plugins.configfiles.buildwrapper.ManagedFile>
    </managedFiles>
  </org.jenkinsci.plugins.configfiles.buildwrapper.ConfigFileBuildWrapper>
</buildWrappers>

这是我的 JobDSL 尝试:

job('example') {
    configure{
    it / 'buildWrappers' << 'org.jenkinsci.plugins.configfiles.buildwrapper.ManagedFile' {
        managedFiles {
            org.jenkinsci.plugins.configfiles.buildwrapper.ManagedFile{
                fileId '30de8d2f-621d-4c51-b644-4302b548fd15'
                targetLocation './/src//'
        }
      }
    }
  }
}

我错过了什么?谢谢!

您可以使用内置 DSL:https://jenkinsci.github.io/job-dsl-plugin/#path/job-wrappers-configFiles

内置 DSL 也会从文件名中解析 fileId

job('example') {
  wrappers {
    configFiles {
      file('myCustomConfigFile') {
        targetLocation('src')
      }
    }
  }
}