Email2Trac

Posté le Wednesday, 22 October 2008 in 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