Angesichts der folgende Pipeline:CHANGE_AUTHOR_EMAIL und CHANGE_ID Umgebungsvariablen zurückgeben „Keine solche Eigenschaft: ...“
stages {
stage ("Checkout SCM") {
steps {
checkout scm
sh "echo ${CHANGE_AUTHOR_EMAIL}"
sh "echo ${CHANGE_ID}"
}
}
}
Warum diese Variablen nicht um einen Wert zu lösen und zur Verfügung stellen?
Schließlich möchte ich diese Umgebungsvariablen verwenden, um eine E-Mail senden und eine Pull-Anforderung zusammen:
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>'''
)
}
}
und
sh "curl -X PUT -d '{\'commit_title\': \'Merge pull request\'}' <git url>/pulls/${CHANGE_ID}/merge?access_token=<token>"
Seltsamer, $PROJECT_NAME
, $BUILD_NUMBER
, $BUILD_URL
arbeiten ...
Update: Dies ist möglicherweise ein offener Fehler ... https://issues.jenkins-ci.org/browse/JENKINS-40486 :-(
Gibt es eine Problemumgehung, um diese Werte zu erhalten?
wo ist dieses Kontrollkästchen? Ich kann es nicht in meinem Multi-Filial-Job finden – SILENCE
Das Plug-in wurde seither aktualisiert und diese Antwort ist nicht so gültig. Brauchen Sie, mich zu aktualisieren, damit ich die Antwort aktualisieren konnte –