Same solutions I thought about, to put a try-catch surrounding all the 
stages in the build.
However I could not find anything in those examples how to send email on 
fixed builds. Unless step Mailer does that for you. I use Email-ext because 
I want to a minimalist email content.

It should only send out email on FAILED and SUCCESS(if previously FAILED). 
I could do something like this if I had access to previousBuild.result

It seems the pipeline sets the currentBuild.result to SUCCESS or FAILED at 
the end. Unless setting the result in the script the value is always null.


torsdag 23. juni 2016 09.31.20 UTC+2 skrev Craig Rodrigues følgende:
>
> Mike Caspar added email notification to this example:
>
>
> https://github.com/jenkinsci/pipeline-examples/blob/master/jenkinsfile-examples/nodejs-build-test-deploy-docker-notify/Jenkinsfile
>
> and my script does email notification similar to what you need
>
>
> https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/build-test.groovy#L233
>
> You need to set and check the currentBuild.result value, and do different 
> things based on that.
>
> --
> Craig
>
> On Thu, Jun 23, 2016 at 12:20 AM, Sverre Moe <sverr...@gmail.com 
> <javascript:>> wrote:
>
>> One benefit with sending email in pipeline script is better control of 
>> which error in the pipeline deserves sending email and to whom.
>>
>> By adding a try-catch surrounding the code compile I send out email when 
>> it fails. That case the developers get notified only for errors that 
>> concern them.
>> try {
>>     preInstall()
>>     compileAndBuild()
>>     postInstall()
>> } catch(e) {
>>     final def RECIPIENTS = emailextrecipients([
>>         [$class: 'DevelopersRecipientProvider'],
>>         [$class: 'CulpritsRecipientProvider']
>>     ])
>>     final def SUBJECT = "${env.JOB_NAME} ${env.BRANCH_NAME} - Build 
>> #${env.BUILD_NUMBER} - FAILED!"
>>     final def CONTENT = "Check console output at ${env.BUILD_URL} to 
>> view the results."
>>     if (RECIPIENTS != null && !RECIPIENTS.isEmpty()) {
>>         mail to: RECIPIENTS, replyTo: "donot...@company.com <javascript:>
>> ", subject: SUBJECT, body: CONTENT
>>     } else {
>>         mail to: "jenkins-admin", replyTo: "donot...@company.com 
>> <javascript:>", subject: SUBJECT, body: CONTENT
>>     }
>>     throw e
>> }
>> I need to re-throw the exception otherwise the pipeline continues.
>>
>> However I still want email to be sent out if there is an error anywhere 
>> in the code. The Jenkins administrators should get an email if the build 
>> scripts fails and has nothing to do with the code. I cannot put a try-catch 
>> everywhere in the code.
>>
>> Also how do I send out email on fixed builds? Do I have to do it 
>> manually. Check the previous build, get the recipient list (culprits, 
>> developers) from that build and send a fixed build email message.
>>
>> -- 
>> 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 jenkinsci-use...@googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jenkinsci-users/dbb8fc19-458f-4114-937c-b5136b792562%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/jenkinsci-users/dbb8fc19-458f-4114-937c-b5136b792562%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/c266be37-a45d-4310-8855-6b0ae727c4ff%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to