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

Jenkins Groovy调用其他任务时如何向Active Choice Parameter传列表值

问题原因

你遇到的报错是因为Pipeline build 步骤的参数列表中不存在choice这一参数符号,原生支持的参数类型仅包含string、booleanParam、text等,无法直接通过choice关键字传递列表选项。

解决方案

方案1:使用StringArrayParameterValue直接传递列表(推荐)

适合目标Active Choice Parameter开启了多选模式的场景,直接实例化Jenkins核心类传递数组类型参数,无需对列表内容做格式转换:

import hudson.model.StringArrayParameterValue

build job: "myjob", parameters: [
    new StringArrayParameterValue('paramName', ['a', 'b', 'c'] as String[])
]

注意:如果你的Jenkins开启了脚本安全限制,需要在「管理Jenkins -> 进程内脚本审批」中批准该类的使用权限。

方案2:列表转逗号分隔字符串传递

无需导入额外类,直接用原生支持的string参数类型传递,多选模式的Active Choice会自动将逗号分隔的字符串拆分为列表:

def choiceList = ['a', 'b', 'c']
build job: "myjob", parameters: [
    string(name: 'paramName', value: choiceList.join(','))
]

注意:如果参数值本身包含逗号,会出现拆分错误,该场景下优先使用方案1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:36:07