jenkinsci / jenkinsci/workflow-support-plugin
[JENKINS-54477] Getting an accurate build result when sending a notification from Pipeline is harder than it needs to be
- Dominant language
- Java
- Stars
- 23
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
There are some cases where the email-ext plugin incorrectly reports the "current" build status. I'm still not sure if this is a (scripted) pipeline restriction or a problem in email-ext. For my company it became especially bad now with the update of pipeline-maven-plugin from 3.5.14 to 3.5.15 (based on its implementation of JENKINS-27395">JENKINS-27395, https://github.com/jenkinsci/pipeline-maven-plugin/commit/cfe37eeb66c07fc81c286f78499acfdef7aa05ec) - This change now changed all "UNSTABLE" mails to "SUCCESS" mails, which totally confuses our developers ![]()
The other case where I already implemented a workaround is when some step throws an exception:
try {
some
build
steps
} catch (e) {
// Workaround!
currentBuild.result = 'FAILURE'
throw e
} finally {
emailext ...
}
If there were some way to either let Jenkins update the global job status from the individual step status or postpone the emailext exection after Jenkins can determine if the pipeline was successful or not, that would help a lot...
---
Originally reported by tgr, imported from: Getting an accurate build result when sending a notification from Pipeline is harder than it needs to be
Raw content of original issue
There are some cases where the email-ext plugin incorrectly reports the "current" build status. I'm still not sure if this is a (scripted) pipeline restriction or a problem in email-ext. For my company it became especially bad now with the update of pipeline-maven-plugin from 3.5.14 to 3.5.15 (based on its implementation of
JENKINS-27395, https://github.com/jenkinsci/pipeline-maven-plugin/commit/cfe37eeb66c07fc81c286f78499acfdef7aa05ec) - This change now changed all "UNSTABLE" mails to "SUCCESS" mails, which totally confuses our developersThe other case where I already implemented a workaround is when some step throws an exception:
try {
some
build
steps
} catch (e) {
// Workaround!
currentBuild.result = 'FAILURE'
throw e
} finally {
emailext ...
}If there were some way to either let Jenkins update the global job status from the individual step status or postpone the emailext exection after Jenkins can determine if the pipeline was successful or not, that would help a lot...
Contributor guide
Assessment
This issue has not been assessed yet.