Interesting - is there no way to have an on failure handler (perhaps for
all steps) vs a per node or global catch/print writer? (whilst it works it
seems to be more work for a common enough desire for failure messages,
making me think there is probably another way).
On Friday, September 11, 2015 at 6:55:18 AM UTC+10, Francois Marot wrote:
>
> Thanks Victor,
>
> so in fact what worked was creating a new node() {...} block to wrap my
> whole workflow and inside it I now have a LARGE try / catch and I send the
> failure mail in the catch block.
> I did not know I could nest node() {...} blocks but it seems to work.
>
> In the ends, I got this working (syntax might be wrong as I have no
> jenkins access right now but you have the idea):
>
>
> node {
> try {
>
> node {
> sh 'might fail 1'
> }
>
> node {
> sh 'might fail 2'
> }
>
> } catch (e) {
> def w = new StringWriter()
> e.printStackTrace(new PrintWriter(w))
> mail subject: "failed with ${e.message}", to: 'admin@somewhere',
> body: "Failed: ${w}"
> throw e
> }
> }
>
>
>
>
>
> On Wednesday, September 9, 2015 at 7:48:58 PM UTC+2, Victor Martinez wrote:
>>
>> Hi,
>>
>> Have you tried something like?
>>
>>
>> node {
>> sh 'might fail'
>> mail (to: 'admin@somewhere',
>> subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) failed!",
>> body: "Your job failed, please review it ${env.BUILD_URL}.");
>> }
>>
>> Cheers
>>
>> On Wednesday, 9 September 2015 11:24:18 UTC+2, Francois Marot wrote:
>>>
>>> Hello all !
>>> I'm playing with Jenkins Workflow and am wondering how I can send a
>>> basic mail telling the team the build has failed.
>>> What I would really like is something like the "email notification" step
>>> with option "Send e-mail for every unstable build" in the classic jobs.
>>> Please detail if this must be defined inside a node or outside.
>>> I tried the following as a test but it seem to stuck my build...
>>> Do I have to put the try/catch inside each and every node() of my
>>> workflow ?
>>>
>>> try {
>>>
>>> node {
>>> sh 'might fail'
>>> }
>>> } catch (e) {
>>> def w = new StringWriter()
>>> e.printStackTrace(new PrintWriter(w))
>>> mail subject: "failed with ${e.message}", to: 'admin@somewhere', body:
>>> "Failed: ${w}"
>>> throw e
>>> }
>>>
>>>
>>>
--
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/2afc9896-4b6a-45c1-88d0-6f3ad948d41b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.