我试图根据时间在Jenkinsfile中添加一个“验证”阶段。如果晚于16,则需要验证,否则不需要验证。
if语句不起作用
在这里我声明变量
map (+1) ((map (+1) (map (+1) mystery)))
这是舞台
HOUR=sh(returnStdout: true, script: 'date +"%H"').trim().toInteger()
这是输出
stage('validation') {
steps {
script {
if ( HOUR > 16 ) {
echo "Validation is required, time now is $HOUR"
}
else {
echo "No validation required, time now is $HOUR"
}
}
}
}
变量HOUR的值正确,但是if语句不能正常工作
预先感谢
答案 0 :(得分:1)
首先尝试使用${xx}
语法引用变量:
if ( ${HOUR} > 16 ) {
实际上,这将在environment step中定义为像${env.HOUR}
和illustrated here一样起作用。
OP Judy1989确认in the comment您可以使用HOUR
,但需要两个步骤:
HOUR=sh(returnStdout: true, script: 'date +"%H"').trim()
...
if ( HOUR.toInteger() > 16 )
您可以看到这样一个延后使用in this question的示例。