鑑於以下管道:CHANGE_AUTHOR_EMAIL和CHANGE_ID環境變量返回「沒有這樣的屬性:......」
stages {
stage ("Checkout SCM") {
steps {
checkout scm
sh "echo ${CHANGE_AUTHOR_EMAIL}"
sh "echo ${CHANGE_ID}"
}
}
}
爲什麼這些變量無法解析,並提供價值?
最後,我想用這些環境變量來發送電子郵件和合並拉請求:
post {
failure {
emailext (
attachLog: true,
subject: '[Jenkins] $PROJECT_NAME :: Build #$BUILD_NUMBER :: build failure',
to: '$CHANGE_AUTHOR_EMAIL',
replyTo: '[email protected]',
body: '''<p>You are receiving this email because your pull request was involved in a failed build. Check the attached log file, or the console output at: $BUILD_URL to view the build results.</p>'''
)
}
}
和
sh "curl -X PUT -d '{\'commit_title\': \'Merge pull request\'}' <git url>/pulls/${CHANGE_ID}/merge?access_token=<token>"
奇怪的是,$PROJECT_NAME
,$BUILD_NUMBER
,$BUILD_URL
做的工作......
更新:這可能是一個開放的bug ... https://issues.jenkins-ci.org/browse/JENKINS-40486 :-(
是否有任何解決方法來獲取這些值?
這個複選框在哪裏?我無法在我的多分支作業中找到它 – SILENCE
插件已被更新,此答案不是有效的。需要更新自己,所以我可以更新答案 –