Email2Trac
Posté le 22. October 2008 dans Logiciels
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, EMail2Trac1 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
Trac2 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}\r
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