我在dsl作业中使用Active Choices无功参考参数插件,代码如下
parameters {
activeChoiceParam('choice1') {
description('select your choice')
choiceType('RADIO')
groovyScript {
script("return['aaa','bbb']")
fallbackScript('return ["error"]')
}
}
activeChoiceReactiveParam('choice2') {
description('select your choice')
choiceType('RADIO')
groovyScript {
script("if(choice1.equals("aaa")){return ['a', 'b']} else {return ['aaaaaa','fffffff']}")
fallbackScript('return ["error"]')
}
referencedParameter('choice1')
}
它的工作很好,我现在想要的是如何使用在一个jenkinsFile管道作业的activeChoiceReactiveParam我这样做:
properties(
[
[
$class : 'ParametersDefinitionProperty',
parameterDefinitions: [
[
$class : 'ChoiceParameterDefinition',
choices : 'aaa\nbbb',
description: 'select your choice : ',
name : 'choice1'
]
但是我怎么能添加choice 2参数呢!!!
6条答案
按热度按时间smdncfj31#
我需要类似的解决方案。我没有找到任何相关的答案/例子,具体到积极的选择插件在我的谷歌搜索任何地方。与一些研发,终于我能够做到这一点的管道项目。这里是Jenkins文件的代码
您甚至可以使用"Active Choices Reactive Reference Parameter"(激活选择无功参考参数),定义和代码的其余部分如下所示。
注意:确保多个参数定义块之间有","分隔符。
希望这能帮到什么人。
js5cn81o2#
我没有使用Active Choices无功参考参数,而是使用了下面的参数,它工作正常!!!
4urapxun3#
非常感谢@Yogeesh。它帮了我很大的忙。在我的例子中,要求是选择多个而不是一个。所以,使用choiceType:'PT_CHECKBOX',它满足了这个目的。
c0vxltue4#
我使最初的示例为我工作,我必须在return语句
return ["a", "b"]
中将'
改为"
,在脚本语句script(' ')
中将"
改为'
lstz6jyr5#
你可以这样说:
u5i3ibmn6#
有没有什么方法可以把脚本逻辑放在一个函数中,并调用例如:
如果(环境等于(“偏差”)){
else if(环境等于(“质量保证”)){ return[“qaaa 001”,“qabbb 002”,“qaccc 003”] } else if(环境等于(“阶段”)){ return[“staaa 001”,“stbbb 002”,“stccc 003”] } else if(环境等于(“生产”)){ return[“praaa 001”,“prbb 002”,“prccc 003”]
}