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

如何配置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]}"
                }
            }
        }
    }
}

关键修改说明:

  1. 下拉选项生成:用data.keySet().join(',')把Map的所有Key转为逗号分隔的字符串,这样下拉框会显示john、alex、michael三个选项。
  2. Value获取与打印:在script块中(Jenkins流水线的steps里直接调用Groovy变量需要包裹在script中),通过data[params.CHOICE]获取选中Key对应的Value,然后打印即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:45:47