Jenkins作业DSL参数被配置块覆盖
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins作业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 ','
}
}
}
}
答案
只是不能生成第二个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 ','
}
}
}
以上是关于Jenkins作业DSL参数被配置块覆盖的主要内容,如果未能解决你的问题,请参考以下文章
如何在运行Jenkins CI管道时屏蔽作为用户输入传递的密码?