jenkins - 如何在 Jenkins 中显示选定的参数?
问题描述
有一个工作槽管道以交互方式向用户询问参数。进入后无法显示选择的参数。这是我的代码:
node {
stage('Input Stage') {
Tag = sh(script: "echo 123'\n'456'\n'789'\n'111", returnStdout: true).trim()
input(
id: 'userInput', message: 'Choice values: ',
parameters: [
[$class: 'ChoiceParameterDefinition', name:'Tags', choices: "${Tag}"],
[$class: 'StringParameterDefinition', defaultValue: 'default', name:'Namespace'],
]
)
}
stage('Second Stage') {
println("${ChoiceParameterDefinition(Tags)}") //does not work
println("${ChoiceParameterDefinition(Namespace)}") //does not work
}
}
如何正确显示选择的参数?
解决方案
您需要在脚本中编写输入步骤。这应该有效。
node {
stage('Input Stage') {
Tag = sh(script: "echo 123'\n'456'\n'789'\n'111", returnStdout: true).trim()
script {
def userInputs =
input(
id: 'userInput', message: 'Choice values: ',
parameters: [
[$class: 'ChoiceParameterDefinition', name:'Tags', choices: "${Tag}"],
[$class: 'StringParameterDefinition', defaultValue: 'default', name:'Namespace'],
]
)
env.TAGS = userInputs['Tags']
env.NAMESPACE = userInputs['Namespace']
}
}
stage('Second Stage') {
echo "${env.TAGS}"
echo "${env.NAMESPACE}"
}
}
参考:
推荐阅读
- php - 如何优化获取 HTTP 状态码
- javascript - 无法在 React Native 中使用 XMLHttpRequest 获取文件
- javascript - 如何使用带有 AM/PM 的 moment.js 格式化没有时区 (Z) 的日期时间
- google-cloud-platform - Google 服务帐户 P12 凭据 - 证书的用途是什么?
- python - What do for i in range(1, len(motels)): 表示范围内有多个参数
- css - 如何在站点中间居中文本并删除滚动条?
- python - 如何在 mongoengine marshmallow 中序列化十进制字段?
- prolog - 必须在 Prolog 中使用约束
- r - 通过共同的经纬度对匹配两个数据帧,并从中创建一个新列
- python - 导入 lightgbm 返回非零退出状态 2