Email2Trac
Email2Trac est un logiciel permettant de créer un ticket sous Trac en envoyant un mail au système de suivi de ticket.
L'intérêt d'envoyer un mail au système de suivi plutôt que de se connecter sur le site Internet pour faire ses rapports d'anomalie, est de faciliter l'accès à de nouvelles personnes. En effet, il est parfois plus facile d'envoyer un mail avec son client mail préféré (en considérant que le logiciel est quasiment toujours ouvert, ce qui doit être le cas en entreprise) que d'ouvrir le navigateur pour envoyer une anomalie de temps en temps (ouvrir le site, se logger, remplir tous les champs, ...).
Ceci peut également être utilisé par un outil de rapport de bug, envoyant un mail automatique (avec confirmation de l'utilisateur) au crash dudit logiciel.
Comme dit précédemment, EMail2Trac[1] permet
- d'ajouter un ticket en envoyant un mail, avec des fichiers attachés
- mettre à jour un ticket (en répondant au mail du ticket par exemple)
Installation
Pour installer Email2Trac, il faut télécharger le source et le décompresser dans un dossier temporaire (ou utilisateur).
Sans gestionnaire de paquet
Ensuite la compilation se fait à l'aide des habituelles autotools
configure --prefix=/usr/local --with-mta_user=nobody --with-trac_user=www-data make make install
Sous Debian
Après avoir installé les paquets cdbs
et autotools-dev
, vous pouvez exécuter les commandes suivante en root (ou la première à l'aide de fakeroot) :
debian/rules binary dpkg -i ../email2trac_<version>.deb
Pour le gestionnaire de paquets RPM vous pouvez visiter la page https://subtrac.sara.nl/oss/email2trac/wiki/Email2tracInstallation
Configuration de l'application
La deuxième étape est l'édition du fichier /etc/email2trac.conf
. Dans ce fichier les informations à renseigner concerne la gestion du projet Trac[2] par Email2Trac.
[DEFAULT] project: /www/site/trac/projet1 spam_level: 5 drop_spam: 1 ticket_update: 1 strip_signature: 1 [projet2] project: /www/site/trac/projet2 spam_level: 5 drop_spam: 1 ticket_update: 1 strip_signature: 1
Les différentes options dépendent de ce que vous souhaitez avoir. Les différentes possibilités sont à l'adresse suivante.
Spam
La gestion du SPAM se fait à l'aide des 3 lignes :
spam_level: 5 drop_spam: 1 spam_header: X-Spam-Level
La ligne spam_header
étant à configurer suivant votre politique de gestion des spams (utilisation de SpamAssassin ou d'un autre utilitaire).
Configuration de Postfix
Il faut maintenant configurer notre système de messagerie pour intégrer Email2Trac. Nous allons détailler ici la mise en place de Email2Trac sous Postfix. Pour les autres serveurs mails vous pouvez visiter la page : http://subtrac.sara.nl/oss/email2trac/wiki/Email2tracMta
Aliases
La première méthode concerne la modification du fichier des alias pour une configuration standard de postfix. Nous allons commencer par modifier le fichier /etc/aliases
en ajoutant la ligne suivante (pour le projet 1) :
projet1: |"/usr/bin/run_email2trac"
Il est également possible de préciser le projet sur lequel il faut travailler (projet définit dans /etc/email2trac.conf
) :
projet2: |"/usr/bin/run_email2trac --project=projet2 --ticket_prefix=devel"
Dans le fichier /etc/postfix/main.cf
, il faut avoir défini l'emplacement des alias de la manière suivante :
alias_maps = hash:/etc/aliases
Les commandes suivantes permettent de mettre à jour le fichier des alias et demander à Postfix de recharger la configuration :
postaliases /etc/aliases postfix reload
Une fois ceci terminé, les mails envoyé à projet1@domain.org et projet2@domaine.org seront automatiquement redirigés vers email2trac qui s'occupera de créer le ticket dans votre système de suivi.
Transport
Cette configuration concerne les personnes qui ont une configuration plus complexe de postfix par exemple en gérant des domaines virtuels. Il est alors possible de définir une redirection des tickets pour un sous domaine.
Nous avons donc créé le sous-domaine tickets.domaine.org et voulons que les mails envoyés à projet1@tickets.domaine.org est projet2@tickets.domaine.org soient redirigés vers email2trac.
Pour cela nous allons créer un fichier /etc/postfix/transport
avec les lignes ci-dessous :
projet1@tickets.domaine.org projet1: projet2@tickets.domaine.org projet2:
Puis dans le fichier /etc/postfix/main.cf
nous allons définir que pour le sous domaine tickets.domaine.org, il faut lire et utiliser le fichier des transports. (Attention il ne faut pas ajouter ce sous-domaine dans mydestination
.
relay_domains = tickets.domaine.org transport_maps = hash:/etc/postfix/transport
Ensuite, il nous faut définir dans le fichier /etc/postfix/master.cf
notre nouveau mode de transport. Il n'est pas obligé d'utiliser run_email2trac
qui fait un changement d'utilisateur, car dans le fichier master.cf
on peut directement définir l'utilisateur de destination.
projet1 unix - n n - - pipe flags=FR user=www-data argv=/usr/bin/email2trac ${nexthop} ${user} projet2 unix - n n - - pipe flags=FR user=www-data argv=/usr/bin/email2trac ${nexthop} ${user}
Enfin il faut redémarrer postfix :
postmap /etc/postfix/transport postfix reload
Et voilà vous pouvez envoyer vos mails à projet1@tickets.shadoware.org.
Tester
Pour tester il est possible d'envoyer un mail, comme ceci :
mail projet1@tickets.shadoware.org < ticket.txt
En cas de problème, vous pouvez vérifier que email2trac est bien configuré avec la commande :
email2trac --project=projet1 < ticket.txt