and*_*ndi 4 jenkins jenkins-pipeline
我正在尝试使用jenkins管道的构建方法执行已定义的作业.这是一个简单的例子:
build('jenkins-test-project-build', param1 : 'some-value')
Run Code Online (Sandbox Code Playgroud)
但是当我尝试执行它时,我收到一个错误:
java.lang.IllegalArgumentException: Expected named arguments but got [{param1=some-value}, jenkins-test-project-build]
at org.jenkinsci.plugins.workflow.cps.DSL.parseArgs(DSL.java:442)
at org.jenkinsci.plugins.workflow.cps.DSL.parseArgs(DSL.java:380)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:156)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126)
...............
Run Code Online (Sandbox Code Playgroud)
Pom*_*m12 14
您的构建调用中有多个问题.
首先,正如sshepel提到的那样,如果你有多个参数,你应该命名你的参数(你可以忘记仅在你只使用默认参数时命名它job,例如build 'my-simple-job-without-params').
第二个问题是您没有正确传递参数.要将参数传递给下游作业,您应该使用named参数parameters并为其提供定义每个参数的对象数组,例如:
build job: 'jenkins-test-project-build', parameters: [[$class: 'StringParameterValue', name: 'param1', value: "some-value" ]]
Run Code Online (Sandbox Code Playgroud)
另请注意,在Groovy方法调用中,括号是可选的.
您收到此错误,因为您没有传递应存储'jenkins-test-project-build'的属性的名称.
在您的情况下,您应该传递job属性.
build(job: 'jenkins-test-project-build', param1 : 'some-value')
Run Code Online (Sandbox Code Playgroud)
以下是可用选项列表(pipeline-build-step):
| 归档时间: |
|
| 查看次数: |
25876 次 |
| 最近记录: |