Envoyer un mail personnalisé à la suite d’un build Jenkins

jenkins_logo

Après la fin de l'exécution d'un build automatisé, il peut être intéressant d'envoyer un mail personnalisé (objet, contenu et pièces-jointes) à un ensemble de personnes.

Jenkins propose la fonctionnalité "Notifier par email" (dans la section "Actions à la suite du build", action "Ajouter une action après le build"). Elle permet d'avertir un ensemble de destinataires qu'un build est instable. Elle peut aussi être utile pour prévenir les personnes qui ont modifié en dernier le build ; car suite à ces modifications, il est en échec.

notifier_par_mail Dans mon cas, ce genre d'email ne correspond pas à mon besoin. Je cherche à créer un mail personnalisé : choix de l'objet, choix du contenu et choix des pièces-jointes à joindre. Le fichier que je veux joindre au mail aura été créé lors de l'exécution de mon build, il sera disponible dans l'espace de travail du projet ("workspace"). Tout cela est possible grâce au plugin Jenkins Email-ext plugin.

Email-ext plugin

Suite à l'installation de ce plugin, Jenkins propose la fonctionnalité "Editable Email Notification" (dans la section "Actions à la suite du build", action "Ajouter une action après le build"). Des valeurs par défaut sont renseignées à l'aide de variables.

Ajout du trigger "Script - After Build" afin de compléter les informations sur le mail que nous voulons envoyer après l'exécution du build.

editable_email_notification

Avec cet exemple-là, nous envoyons donc le fichier "affiliations_results.txt" après l'exécution du build avec un contenu et un objet personnalisé. Ce fichier est présent dans l'espace de travail/workspace.

workspace

Il est aussi possible de joindre le log du build ("Attach Build Log") :

attach_build

Le fichier "affiliations_results.txt" sera donc envoyé par mail après chaque exécution du build "RZ-TC-Quotidien-Aft-Upgrade-MMJVSD". Ce fichier est généré lors de l'exécution du build, nous avons besoin de le supprimer avant chaque exécution du build. Pour cela nous allons utiliser le plugin Jenkins Workspace Cleanup Plugin

Workspace cleanup plugin

Suite à l’installation de ce plugin, nous pouvons dès à présent supprimer le fichier "affiliations_results.txt" avant chaque exécution du build. Il va être re-créé lors de l'exécution du build puis envoyé par mail à la fin de ce dernier.

environnement_de_build

 

2 commentaires

  1. Bonjour,

    J’essaye d’appliquer votre tuto et je rencontre un problème, somme-nous obligé d’identifier un template groovy? j’aimerai dans un premier temps avoir un réultat de jenkins sans ajout.

    Merci de votre aide

  2. Bonjour,

    Cet article explique juste comment envoyer un mail à la suite d’un build et ça peu importe le type de build. Pas obligé donc d’appliquer un template groovy.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.