def projectsString = ''
stage('debug') {
when {
branch 'master'
}
steps {
script {
def files = findFiles()
files.each {
f ->
if (f.directory) {
projectsString = projectsString + f.name + "\\" + "n "
echo projectsString
}
}
}
}
}
stage('debug2') {
when {
branch 'master'
}
input {
message "Choose"
ok "Submit"
parameters {
choice(name: 'CHOICES', choices: "${projectsString}", description: 'Please Select One')
}
}
steps {
script {
echo "Selected choice is : ${params.CHOICES}"
}
}
}
在debug2
阶段,没有选择,projectsString
,即使我在debug
阶段用值填充它,也不知道我做错了什么,它也是一个全局变量
在调试阶段也有一个echo projectsString
,当我在debug2
阶段直接硬编码该字符串时,选择显示正确
2条答案
按热度按时间kkih6yb81#
如果简单变量在另一个阶段中为空,请尝试as in here,即env var替代项:
g6ll5ycj2#
要在多个阶段中可用,变量需要是环境变量:
并且您对它所做的更改必须采用此格式才能在其他阶段中使用:
在您的情况下:
有关https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables详细信息,请访问www.example.com和https://www.jenkins.io/doc/pipeline/tour/environment/。