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}"
}
}
}
}
我在我的 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}"
}
}
}
}