JobDSL自定义配置文件

时间:2016-08-23 08:04:07

标签: jenkins-job-dsl

我正在尝试使用自定义配置文件设置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//'
        }
      }
    }
  }
}

我错过了什么?谢谢!

1 个答案:

答案 0 :(得分:1)

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

内置DSL还将解析文件名中的fileId

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