詹金斯管道环境变量求反

时间:2019-11-13 16:07:46

标签: jenkins jenkins-pipeline

这是脚本化的管道:

stage('check negations') {
    def someVar = false
    println someVar
    println ! someVar

    env.skip = false
    println env.skip
    println ! env.skip
}

我希望它能给

false
true
false
true

但它给出了

false
true
false
false

如何?

它对于非环境变量正常工作。当env.skip设置为true时,它甚至可以正常工作。怎么样?

1 个答案:

答案 0 :(得分:2)

env变量始终是字符串。 所以当你这样做 env.skip = false env.skip将包含字符串“ false”,其布尔值是true。

您可以这样做:

env.skip = false
println Boolean.parseBoolean(env.skip)
println ! Boolean.parseBoolean(env.skip)

此外,如果此env.skip是布尔型作业参数,则可以通过以下方式访问它 params.skip。在这种情况下,您将获得其布尔值。