You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins上游作业传递选择参数至下游作业时遇语法问题求助

Jenkins上下游作业参数传递错误修复

错误原因

你碰到的ClassCastException是因为build步骤的parameters参数必须传**hudson.model.ParameterValue类型的列表**,而你直接传了字符串,类型不兼容。

正确写法

把参数传递部分改成参数对象列表,两种常用方式:

方式一:字符串参数传递

如果下游作业的WHICH_ACTION是字符串/选择类型参数,用string对象传递最稳妥:

echo "You chose: ${params.ACTION}"
build job: "stage/${app}", parameters: [
    string(name: 'WHICH_ACTION', value: params.ACTION)
]

方式二:选择参数传递(适配下游选择参数)

如果下游的WHICH_ACTION明确是选择参数,也可以用choice对象传递:

echo "You chose: ${params.ACTION}"
build job: "stage/${app}", parameters: [
    choice(name: 'WHICH_ACTION', choices: params.ACTION, description: '')
]

关键细节提醒

你下游作业里判断阶段的条件是params.ACTION == 'STOP',但上游选择参数的选项是["Stop", "Deploy"],大小写不匹配会导致Stop阶段永远不执行。必须统一:

  • 要么把上游选项改成["STOP", "DEPLOY"]
  • 要么把下游判断改成params.ACTION == 'Stop'

内容的提问来源于stack exchange,提问作者ketter palumets

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 13:28:33