我希望仅在currentBuild.result未设置为UNSTABLE时执行此步骤,这是在执行测试步骤后立即执行的,我设法弄清楚如果不是这种情况,在我的管道中设置为null。在尝试确定变量为null时,将变量与“”进行比较应该可以,但是在我的工作步骤中似乎不起作用:
stage('Post test') {
when {
expression {
return (currentBuild.result == "")
}
}
steps {
有人可以建议我在条件步骤表达式中使用什么吗?
答案 0 :(得分:0)
未经测试,不确定这是否正是您的意思,但是类似这样的东西?
stage('Post test') {
steps {
conditionalSteps {
condition {
status("Success","Success") # worst result, best result
}
steps {
shell("echo 'this is my command'")
}
}
}
}
答案 1 :(得分:0)
如果要在构建结束时运行它,可以将其包装在帖子中。如果要在继续执行管道的同时运行命令,我认为您必须将其包装在脚本闭包中。这未经测试,但我相信它将满足您的需求:
stages {
stage('1') {}
stage('2') {}
stage('3') {
steps {
script {
if (currentBuild.result == "UNSTABLE") {
println "this should be unstable"
}
}
}
}
post {
unstable {
println "here be unstable"
}
}
}