我使用Jenkins v2.1和集成交付管道功能( jenkins.io/在我的参数化版本中,我有3个用户参数设置,它们也需要可以在管道中选择。
管道脚本如下:
node:{ stage'build' build job:'build',parameters:[[$ class:'StringParameterValue',name:'target',value:target],[$ class: 'ListSubversionTagsParameterValue',name:'release',tag:release],[$ class:'BooleanParameterValue',name:'update_composer',value:update_composer]] stage'deploy' build job:'deploy',参数:[[$ class:'StringParameterValue',name:'target',value:target]] }这个工作正常,除了对于 BooleanParameterValue 。当我构建管道时会引发下面的错误:
java.lang.ClassCastException:hudson.model.BooleanParameterValue.value expect boolean但收到类java.lang.String如何解决此类型转换错误? 甚至更好,是否有一种不太麻烦的方式,我可以将所有管道参数传递给下游作业。
解决方案假设
value:update_composer是问题,请尝试
value:Boolean.valueOf(update_composer)
有没有那么麻烦的方法,我可以通过所有管道参数到下游作业
不是我所知道的,至少不是没有使用Jenkins API调用和禁用Groovy沙箱。 >
I'm using Jenkins v2.1 with the integrated delivery pipeline feature (jenkins.io/solutions/pipeline/) to orchestrate two existing builds (build and deploy).
In my parameterized build I have 3 user parameters setup, which also needs to be selectable in the pipeline.
The pipeline script is as follows:
node: { stage 'build' build job: 'build', parameters: [[$class: 'StringParameterValue', name: 'target', value: target], [$class: 'ListSubversionTagsParameterValue', name: 'release', tag: release], [$class: 'BooleanParameterValue', name: 'update_composer', value: update_composer]] stage 'deploy' build job: 'deploy', parameters: [[$class: 'StringParameterValue', name: 'target', value: target]] }This works correctly except for the BooleanParameterValue. When I build the pipeline the following error is thrown:
java.lang.ClassCastException: hudson.model.BooleanParameterValue.value expects boolean but received class java.lang.StringHow can I resolve this typecasting error? Or even better, is there a less cumbersome way in which I can just pass ALL the pipeline parameters to the downstream job.
解决方案Assuming
value: update_composerwas the issue, try
value: Boolean.valueOf(update_composer)
is there a less cumbersome way in which I can just pass ALL the pipeline parameters to the downstream job
Not that I know of, at least not without using Jenkins API calls and disabling the Groovy sandbox.
更多推荐
管道将参数传递给下游作业
发布评论