Modifier le contenu des notifications JIRA


Publié par
Nathan CHANTRENNE

2 novembre 2012

Les notifications dans JIRA sont fortement appréciées des utilisateurs. Attention cependant à ne pas en abuser, car elles deviennent alors contre-productive. Il est important de recevoir des notifications ciblées, contenant seulement les informations nécessaires. On se heurte alors à une problématique dans JIRA, comment modifier le contenu des mails de notification ? Ils contiennent par défaut un ensemble de champs, tous ne sont pas utile dans les cas d’utilisation des clients. Il est même parfois nécessaire d’y ajouter de l’information, comme le contenu d’un champ personnalisé. Voici un petit guide pour mettre à jour vos templates de mail.

Selon la distribution de JIRA que vous utilisez, les templates se trouvent à un emplacement différent :

  • <jira-application-dir>/WEB-INF/classes/templates/email pour une version Standalone ou WAR
  • jira/src/etc/java/templates/email pour une version Source de JIRA

Dans ce dossier email, il y a 3 dossiers :

  • html : ce dossier contient les templates de mail en HTML
  • text : ce dossier contient les templates de mail en version texte
  • subject : ce dossier contient les sujets des mails, qui peuvent être également personnalisés.

Si je souhaite par exemple afficher le contenu d’un champ personnalisé lors d’une notification Text sur une demande créée, je dois modifier le fichier text/issuecreated.vm.

Les templates sont définis dans un langage Velocity, qui est assez semblable au HTML, avec une possibilité d’utiliser des variables héritées du contexte d’utilisation. Il est du coup préférable de laisser ces modifications entre les mains d’un développeur. Quoi qu’il arrive, il est important de tester vos modifications sur un environnement JIRA de test avant de les déployer sur votre instance de production. A noter que la modification d’un fichier velocity n’est prise en compte qu’après un redémarrage de JIRA (sauf configuration particulière définie à la fin de cette page).

Le code à ajouter pour afficher votre champ personnalisé dans un template de mail est le suivant :

#if ($issue.getCustomFieldValue("customfield_10000"))
>$stringUtils.leftPad($issue.getCustomField("customfield_10000").name, $padSize):
$issue.getCustomFieldValue("customfield_10000")
#end

Il faudra adapter l’id de votre champ personnalisé. Celui-ci peut être trouve dans l’administration de JIRA en survolant le lien de configuration du champ personnalisé ou encore en base de données dans la table customfield.