我知道这个问题已经被问过很多次了,但是发生这种情况的原因总是不同的,因此再次询问。
我最近将我的 jenkins 从 2.270 升级到了 2.278 版本。
升级后,当我尝试运行其中一个管道时,出现以下错误并且管道失败。
groovy.lang.MissingPropertyException:没有这样的属性:类的ERROR_MESSAGE:groovy.lang.Binding
它指向的代码片段看起来像这样。
def <func2>(body) {
<some code>
stages {
stage('Initialise') {
steps {
buildName "${JOB_NAME}#${BUILD_NUMBER}"
script{
if (env.RELEASE == "1.0"){
env.ERROR_MESSAGE = "Please provide RELEASE"
currentBuild.result = 'FAILURE'
return
}
}
}
post {
unsuccessful {
notifySlack(
**message: "Deploy Initialise failed: ${ERROR_MESSAGE}",**
channel:"${slackDeployChannel}")
script{
env.DEPLOY = 'no'
}
}
}
}
还有一个地方 env.ERROR_MESSAGE 被调用
def <func1>(arguments) {
try{
<SOME CODE>
return 0
}
catch (Exception e) {
env.ERROR_MESSAGE = e.getMessage()
return 0
}
}
func1 和 func2 都是单独调用的单独函数。不确定 env.ERROR_MESSAGE 是否正在初始化。
任何线索将不胜感激。
干杯