Jenkins 参数:变量作为默认参数

Jenkins Parameters: variables as default parameter

我在我的 Jenkins 作业中有一个类似这样的选择参数:

choice(name: 'CHOICE', choices: ['One', 'Two', 'Three'], description: 'Pick something')

有什么方法可以将数组传递到我的默认选择中,而不是静态 ['One'、'Two'、'Three']?类似于:

String[] DEFAULT_CHOICES = ['One', 'Two', 'Three']

choice(name: 'CHOICE', choices: DEFAULT_CHOICES, desc...)

————————————————————————————————————

编辑: 我将如何在声明性管道中实现它?我试过:

extendedChoice(..., groovyScript: “return ${DEFAULT_CHOICES}”

而且我不断收到错误。这个实现的例子好像不多

是的,您可以通过多种方式做到这一点。 让我给你一个例子,你可以通过两种方式注入选择参数

def choiceVariableInjectFromAnApi=[]
node {
    ['a','b','c'].each {
        choiceVariableInjectFromAnApi << "${it}"
    }
}

def choiceVariable = [1,2,3,4]

pipeline {
    agent any;
    parameters {
        choice(name: 'CHOICE', choices: choiceVariableInjectFromAnApi, description: 'Pick something')
        choice(name: 'CHOICE2', choices: choiceVariable, description: 'Pick something')
    }
    stages {
        stage('debug') {
            steps {
                echo "Selected Value From Choce parameter are  CHOICE = ${params.CHOICE} & CHOICE2 = ${params.CHOICE2}"
            }
        }
    }
}