groovy 如何配置jenkins extendedChoice参数以打印Map中的值,但在选择下拉列表中看到关键字

0md85ypi  于 2022-11-21  发布在  Jenkins
关注(0)|答案(1)|浏览(198)

我有一个有点困难的时间弄清楚如何使一个简单的Jenkins管道打印值从一个简单的Map。
我使用extendedChoice插件。
要求如下:
用户有一个名称下拉选择,一旦选择了一个名称,作业将简单地打印(在日志中)其值(.key)。
这是我正在尝试使用的代码,做了大量的修改,仍然会出现各种错误,没有任何效果。
如果有人有什么想法,我会很高兴听到的

def data = ["john": "33", "alex": "45", "michael": "22"]

properties([
    parameters ([
        extendedChoice( 
             name: 'CHOICE', 
             description: 'name and age selection', 
             type: 'PT_SINGLE_SELECT',
             value: data.key // i think i am writing this wrong.. i need to see names in selection dropdown box
             )
    ])
])

pipeline {
    agent any
    stages {
        stage('print choice') {
            steps {
                println params.CHOICE.value // how to print .value for user i selected?
            }
        }
    }
}
hk8txs48

hk8txs481#

下面是您的示例的工作管道。

def data = ["john": "33", "alex": "45", "michael": "22"]

properties([
    parameters ([
        extendedChoice( 
             name: 'CHOICE', 
             description: 'name and age selection', 
             type: 'PT_SINGLE_SELECT',
             value: "${data.keySet().join(',').toString()}"
             )
    ])
])

pipeline {
    agent any
    stages {
        stage('print choice') {
            steps {
                println params.CHOICE
                println data.get(params.CHOICE)
            }
        }
    }
}

相关问题