Hi,
So after reading this:
https://github.com/jenkinsci/workflow-plugin/blob/master/basic-steps/src/main/resources/org/jenkinsci/plugins/workflow/steps/CatchErrorStep/help.html
I realized that the Mailer step will not run at all unless
*currentBuild.result* is explicitly set.
For example this does not work:
node {
try {
sh "rm /tmp/some_file_which_does_not_exit"
} finally {
echo "In finally closure"
// currentBuild.result is null here, so next step is a no op
which does not run
step([$class: 'Mailer', notifyEveryUnstableBuild: true,
recipients: 'rodrigc@localhost', sendToIndividuals: true])
}}
while this seems to work:
node {
def err = null
try {
sh "rm /tmp/some_file_which_does_not_exist"
} catch (caughtErr) {
err = caughtErr
} finally {
echo "In finally closure"
if (err) {
currentBuild.result = 'FAILURE'
} else {
currentBuild.result = 'SUCCESS'
}
echo "currentBuild.result: ${currentBuild.result}"
// currentBuild.result is set, so mail will be sent in next step
step([$class: 'Mailer', notifyEveryUnstableBuild: true,
recipients: 'rodrigc@localhost', sendToIndividuals: true])
if (err) {
// if previous step failed, we want to exit instead of continuing
throw err
}
}
echo "currentBuild.result: ${currentBuild.result}"}
It would be nice if the Mailer step printed out a warning in the log if
currentBuild.result is null.
--
Craig
On Mon, Jan 25, 2016 at 4:42 PM, Craig Rodrigues <[email protected]>
wrote:
> This build which failed:
> https://jenkins.freebsd.org/job/FreeBSD_HEAD/74/flowGraphTable/
>
> uses the same script:
>
>
> https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/build-test.groovy
> <https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/build-test.groovy#L190>
>
> and did not send out mail on failure. What is going on?
>
> The blog post you referred to is OK for simply sending out e-mail,
> but I want to use the logic in the Mailer class, because it has a lot of
> good
> stuff for sending out e-mails on failures, and when failures turn into
> successes.
>
> Thanks.
> --
> Craig
>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/CAG%3DrPVezhg0g%3DxNxo44eLWfvNd2jS_j3_xmR3zPc0dUF6KSK-A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.