一尘不染

管道将参数传递给下游作业

jenkins

我正在使用具有集成交付管道功能(https://jenkins.io/solutions/pipeline/)的Jenkins
v2.1 来编排两个现有构建(构建和部署)。

在我的参数化构建中,我有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', parameters: [[$class: 'StringParameterValue', name: 'target', value: target]]
}

除以外,此方法均正常运行BooleanParameterValue。当我构建管道时,会引发以下错误:

java.lang.ClassCastException: hudson.model.BooleanParameterValue.value expects boolean but received class java.lang.String

如何解决此类型转换错误?甚至更好的是,有没有一种麻烦的方式可以将所有管道参数传递给下游作业。


阅读 331

收藏
2020-07-25

共1个答案

一尘不染

假设

value: update_composer

是问题,尝试

value: Boolean.valueOf(update_composer)

有没有那么麻烦的方式可以将所有管道参数传递给下游作业

据我所知,至少没有使用Jenkins API调用并禁用Groovy沙箱的情况。

2020-07-25