从 Jenkins 声明性管道中访问选择参数值
Accessing choice parameter values from within Jenkins declarative pipelines
在我的声明性管道中,我有一个选择参数如下:
parameters {
choice(name: 'sleep_time',
choices: ['2.5m', '2m', '15s', '50s', '4m', '1m', '1.5m', '1.5s', 'random'],
description: "the sleep time to execute after the command")
}
如何从声明性管道中获取参数的所有值?
在这个例子中,我期望获得 2.5m, 2m, 15s
等的列表。
在执行过程中,参数值将仅包含选定的选项,而不是整个选项列表,但是由于参数被定义为管道脚本的一部分,您可以将选项列表定义为管道的全局参数并在参数定义和管道中的任何其他地方使用。
类似于:
// Define the options as a global parameter
SLEEP_OPTIONS = ['2.5m', '2m', '15s', '50s', '4m', '1m', '1.5m', '1.5s', 'random']
pipeline {
agent any
parameters {
choice(name: 'sleep_time',
choices: SLEEP_OPTIONS, // Use the global parameter
description: "the sleep time to execute after the command")
}
stages {
stage('Use Global Parameter') {
steps {
script {
SLEEP_OPTIONS.each { // SLEEP_OPTIONS is available for all steps in the pipeline
println it
}
}
}
}
}
}
在我的声明性管道中,我有一个选择参数如下:
parameters {
choice(name: 'sleep_time',
choices: ['2.5m', '2m', '15s', '50s', '4m', '1m', '1.5m', '1.5s', 'random'],
description: "the sleep time to execute after the command")
}
如何从声明性管道中获取参数的所有值?
在这个例子中,我期望获得 2.5m, 2m, 15s
等的列表。
在执行过程中,参数值将仅包含选定的选项,而不是整个选项列表,但是由于参数被定义为管道脚本的一部分,您可以将选项列表定义为管道的全局参数并在参数定义和管道中的任何其他地方使用。
类似于:
// Define the options as a global parameter
SLEEP_OPTIONS = ['2.5m', '2m', '15s', '50s', '4m', '1m', '1.5m', '1.5s', 'random']
pipeline {
agent any
parameters {
choice(name: 'sleep_time',
choices: SLEEP_OPTIONS, // Use the global parameter
description: "the sleep time to execute after the command")
}
stages {
stage('Use Global Parameter') {
steps {
script {
SLEEP_OPTIONS.each { // SLEEP_OPTIONS is available for all steps in the pipeline
println it
}
}
}
}
}
}