目前我有一个管道作业,它有不同的参数,其中一个参数是选择参数.这是该作业参数的 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.
更多推荐
Jenkins 选择参数传递给管道作业
发布评论