Jenkins JobDSL参数被配置块

时间:2018-03-20 11:57:28

标签: jenkins jenkins-job-dsl

在我们的Jenkins实例上,我们使用了一些插件,其中JobDSL API可用于少数,而其他人无法使用,因为我们必须使用configure选项创建这些插件。

在这种情况下;

如果我将配置块放在参数闭包之外,配置块似乎会覆盖现有参数(参见下面的代码);或

排序出错(booleanparam在生成的Extended Choice参数后面列出第二个)如果我将configure块放在闭包内 - 任何想法可能出错?

理想情况下,在参数部分中,我希望首先出现布尔参数,然后是扩展选择参数

job('example') {
  parameters {
    booleanParam('<name>, <boolenvalue>')
  }
  configure {
    project->
      project / 'properties' << 'hudson.model.ParametersDefinitionProperty' {
        parameterDefinitions { 'com.cwctravel.hudson.plugins.extended__choice__parameter.ExtendedChoiceParameterDefinition'
          {
            name '<name>'
            quoteValue 'false'
            type 'PT_MULTI_SELECT'
            value '<values>'
            multiSelectDelimiter ','                
          }
        }
      }
} 

1 个答案:

答案 0 :(得分:3)

请勿生成第二个ParametersDefinitionProperty。而是在现有parameterDefinitions下面添加参数:

job('example') {
  parameters {
    booleanParam('<name1>')
  }
  configure { project->
    project / 'properties' / 'hudson.model.ParametersDefinitionProperty' / parameterDefinitions << 'com.cwctravel.hudson.plugins.extended__choice__parameter.ExtendedChoiceParameterDefinition' {
      name '<name2>'
      quoteValue 'false'
      type 'PT_MULTI_SELECT'
      value '<values>'
      multiSelectDelimiter ','                
    }
  }
}