如何配置Jenkins extendedChoice参数:下拉显Key,打印对应Value
解决Jenkins流水线通过extendedChoice插件选择Map Key并打印对应Value的问题
原代码的问题点:
extendedChoice的value参数需要逗号分隔的字符串,你写的data.key是错误的,应该把Map的Key集合转为逗号分隔的字符串。- 打印对应Value时,
params.CHOICE就是选中的Key,直接用该Key从Map中取值即可,不需要.value。
修正后的完整代码:
def data = ["john": "33", "alex": "45", "michael": "22"] properties([ parameters ([ extendedChoice( name: 'CHOICE', description: '选择姓名查看年龄', type: 'PT_SINGLE_SELECT', value: data.keySet().join(',') // 将Map的Key转为逗号分隔的下拉选项 ) ]) ]) pipeline { agent any stages { stage('打印选中的年龄') { steps { script { // 通过选中的Key从Map中获取对应Value并打印 println "选中的姓名: ${params.CHOICE},对应的年龄: ${data[params.CHOICE]}" } } } } }
关键修改说明:
- 下拉选项生成:用
data.keySet().join(',')把Map的所有Key转为逗号分隔的字符串,这样下拉框会显示john、alex、michael三个选项。 - Value获取与打印:在
script块中(Jenkins流水线的steps里直接调用Groovy变量需要包裹在script中),通过data[params.CHOICE]获取选中Key对应的Value,然后打印即可。
内容的提问来源于stack exchange,提问作者bflance
相关产品推荐
相关产品推荐

