即使传递true,Jenkins DSL booleanCondition()也不会返回true

问题描述:

我有两个作业叫做ParentJobChildJobParentJob触发下游作业ChildJob即使传递true,Jenkins DSL booleanCondition()也不会返回true

ParentJob我传递的变量作为

parameters { 
      predefinedProp('RELEASE','true') 
      } 

ChildJob我正在采摘参数作为

conditionalSteps { 
     condition { 
     booleanCondition("RELEASE") 
     steps { 
      shell("echo 'Wow !!! condition is parsed as true'") 
     } 
     } 

ChildJob的参数页面上,我可以看到它正确地来作为true

enter image description here

仍然行shell("echo 'Wow !!! condition is parsed as 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 

我甚至尝试通过为falseParentJob的工作,仍然是同样的结果。我究竟做错了什么?

我错误地访问了令牌,其中正确的方法是booleanCondition('${RELEASE}')

这应该是正确的方法:

conditionalSteps { 
     condition { 
     booleanCondition('${RELEASE}') 
     steps { 
      shell("echo 'Wow !!! condition is parsed as true'") 
     } 
     } 
    }