詹金斯选择参数传递给管道作业 [英] Jenkins Choice parameter Passing to a pipeline Job
问题描述
当前,我有一个具有不同参数的管道作业,其中此参数之一是Choice参数.这是该作业参数的config.xml输出:
Currently I have a pipeline job which has different paramters where one of this parameters is a Choice parameter. Here is the config.xml output of that job parameter:
<hudson.model.ChoiceParameterDefinition>
<choices class="java.util.Arrays$ArrayList">
<a class="string-array">
<string>f1</string>
<string>f2</string>
<string>f3</string>
<string>f4</string>
</a>
</choices>
<name>WHERE</name>
<description>Something</description>
</hudson.model.ChoiceParameterDefinition>
现在,我可以通过传递字符串参数从管道中调用此作业:
Now I can call this job from a pipeline via by passing a string parameter:
build job: "NameOfTheJob"", parameters:
[
[$class: 'StringParameterValue', name: 'BRANCH', value: "${BRANCH}"],
]
但是我无法为选择参数定义参数:
But I couldn't get a way to define the parameters for a choice parameter:
我尝试了以下操作:
build job: "NameOfTheJob"", parameters:
[
[$class: 'StringParameterValue', name: 'BRANCH', value: "${BRANCH}"],
[$class: 'ChoiceParameterValue', name: 'WHERE', value: 'F3'],
]
但这失败并出现以下错误:
But this failed with the following error:
java.lang.UnsupportedOperationException: no known implementation of class hudson.model.ParameterValue is named ChoiceParameterValue
所以问题是:如何在调用其他管道作业时定义选择参数:
So the question is: How to define a choice parameters in calling an other pipeline job:
build job: "NameOfTheJob"", parameters:
[
[$class: 'StringParameterValue', name: 'BRANCH', value: "${BRANCH}"],
[$class: '??????', ????],
]
有人举这样的例子吗?
推荐答案
我看到了一个使用以下语法的有效示例:
I have seen a working example that uses the below syntax:
build job:'NameOfTheJob', parameters: [
string(name: 'FirstOption', value: "test"),
string(name: 'AnotherOption', value: "test12")
]
基本上,不要以特殊方式对待选择参数,只需将它们视为常规字符串参数即可.
Basically, don't treat the choice parameters in a special manner, just treat them as regular string parameters.
这篇关于詹金斯选择参数传递给管道作业的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!