Jenkins DSL booleanCondition()即使传递了true也不返回true
我有两份工作叫Jenkins DSL booleanCondition()即使传递了true也不返回true,jenkins,groovy,jenkins-job-dsl,Jenkins,Groovy,Jenkins Job Dsl,我有两份工作叫ParentJob和ChildJobParentJob触发下游作业ChildJob 从ParentJob我将变量作为 parameters { predefinedProp('RELEASE','true') } 在ChildJob中,我选择参数作为 conditionalSteps { condition { booleanCondition("RELEASE") steps {
ParentJob
和ChildJob
ParentJob
触发下游作业ChildJob
从ParentJob
我将变量作为
parameters {
predefinedProp('RELEASE','true')
}
在ChildJob
中,我选择参数作为
conditionalSteps {
condition {
booleanCondition("RELEASE")
steps {
shell("echo 'Wow !!! condition is parsed as true'")
}
}
在ChildJob
的参数页面中,我可以看到它正确地显示为true
:
但是行shell(“echo'Wow!!!condition被解析为true'”)
仍然没有执行。在日志中,我可以看到:
09:35:41 Run condition [Boolean condition] enabling prebuild for step [BuilderChain]
09:35:41 [Boolean condition] checking [RELEASE] against [^(1|y|yes|t|true|on|run)$] (origin token: RELEASE)
09:35:41 Run condition [Boolean condition] preventing perform for step [BuilderChain]
09:35:41 Finished: SUCCESS
我甚至尝试从
ParentJob
job以false
的身份传递,结果仍然相同。我做错了什么?我错误地访问了令牌,正确的方法是booleanCondition('${RELEASE}')
这应该是正确的方式:
conditionalSteps {
condition {
booleanCondition('${RELEASE}')
steps {
shell("echo 'Wow !!! condition is parsed as true'")
}
}
}