我的管道中有一个输入阶段,只有在满足特定条件的情况下,我才希望运行该阶段。
stage ('input stage') {
agent none
when {
expression {
condition1 == "YES"
}
}
input {
message 'Proceed with this step?'
submitter "${approvers}"
}
steps {
echo "Proceeding with step..."
}
}
但是,即使不符合条件,输入阶段似乎也要等待提交者的批准。
我假设这对于带有输入的阶段是可能的。上面的代码块有问题吗?
谢谢。
答案 0 :(得分:4)
没有“问题”,这只是声明性管道的input directive的工作方式(强调我的意思):
舞台上的input指令允许您使用以下命令提示输入 输入步骤。在选择了任何选项之后,舞台将暂停 应用,然后之前进入该阶段的座席区,或者 评估阶段的时间条件。如果输入得到批准, 然后该阶段将继续。
要在when
之前检查input
的状况,请将input
转到步骤:
stage ('input stage') {
agent none
when {
expression {
condition1 == "YES"
}
}
steps {
input message: 'Proceed with this step?', submitter: "${approvers}"
echo "Proceeding with step..."
}
}