Mantis sous Eclipse
par , le mardi 23 février 2010 à 11:05

Catégorie : Général
Mots clés : Developement

L'outils de suivi des bug Mantis peut être facilement rendu accessible sous Eclipse.


Il existe sous Eclipse un outils de gestion des Tâches, appelé MyLyn. Celui ci intègre la notion de connecteur permettant de le relier à des systèmes de gestion de Bug dont Mantis.

Dans le cas de Mantis, il utilise une API de type SOAP qu'il faut d'abord installer sur le serveur web de Mantis lui-même :

  • télécharger le connecteur Mantis Connector depuis le site de SourceForge. Attention ! il faut récupérer MantisConnect et non mylyn-mantis, par exemple le dernier snapshot.
  • installer le connector en en copiant le dossier webservice/mc de l'archive à la racine du dossier de Mantis, ce qui doit créer un dossier mc sous le dossier Mantis de votre site.
  • tester le connecteur en appelant l'url http://serveur_mantis/dossier_mantis/mc/mantisconnect.php qui doit vous retourner la liste des services SOAP exportés par l'API:

Dans Mantis

Vous devez créer un filtre, car le connecteur d'Eclipse ne peut accéder aux données de Mantis qu'à travers des vues.

Par exemple, j'ai créé un filtre qui affiche les bugs/tâches de l'utilisateur connecté :

Attention ! les version récentes de Mantis retournent des pages encodées en UTF-8, et le MantisConnector que j'ai installé coté web n'effectue aucune conversion d'encodage et retourne par défaut un encodage ISO-8859-1. En regardant dans le source de cette version on s’aperçoit que la conversion reste à faire (commentaire TODO: ...). Mais le plus simple dans ce cas consiste à simplement changer l'encodage retourné par l'API :

  • ouvrir le fichier mc/nusoap/nusoap.php dans le dossier de Mantis,
  • chercher la variable $soap_defencoding pour lui assigné la valeur UTF-8 au lieu de ISO-8859-1 (d'ailleurs le code d'assignation est en commentaire dans le source).
  • si le plug-in Eclipse a déjà été configuré, il faudra lancer un Update Repository Configuration depuis la vue Task Repository d'Eclipse.

Voilà, coté Mantis c'est terminé.

Passons à Eclipse

J'utilise Eclipse Galiléo (PDT), qui contient tout ce qu'il faut y compris le connecteur client pour Mantis. MyLyn est désormais intégré à Eclipse dans les distributions courantes.

Pour commencer il faut ouvrir la vue de gestion des dépôts externes de tâches (task repository dans le texte) :

  • menu Windows, Show View, Others
  • ouvrir le volet Task et sélectionner Task Repositories

  • bouton droit de la souris dans la nouvelle vue (Task Repositories) et Add Task Repositories

  • ensuite cliquer sur Install More Connectors dans la boite de dialogue qui vient de s'ouvrir
  • MyLyn va chercher tous les connecteurs disponibles en ligne, ce qui peut prendre un certains temps, et affiche une liste intéressante (subversion, outlook, ...). Si Mantis n'est pas dans la liste, c'est que vous l'avez déjà installé précédemment et qu'il apparait donc déjà dans la boite de dialogue précédente. S'il apparait dans la liste, il suffit de le cocher et de valider.

  • de retour dans la boite de dialogue vous devez avoir Mantis de disponible comme type de repository :

  • sélectionnez le connecteur Mantis et cliquez sur Next,
  • configurez la connexion de la façon suivante :
    • Server = url de l'API SOAP sur votre serveur : http://serveur_mantis/dossier_mantis/mc/mantisconnect.php
    • Label : ce que vous voulez (nom de votre projet, ...)
    • retirez la case à cocher Anonymous pour pouvoir saisir le UserID et le Password de cotre compte Mantis.

  • le bouton Validate Settings vous permet de vérifier que le paramétrage est bon (test de l'url et du login).
  • une fois la configuration validée (bouton Finish), MyLyn vous demande si vous voulez créer une requête d'extraction des tâches :

  • en répondant Yes, MyLyn va se connecter à Mantis et charger les filtres qui y ont été définis (ce qui va prendre un certains temps) :

  • ici il faut choisir le projet Mantis puis le filtre (qui dépent du projet), et saisir un nom pour la Query. Une fois cette opération fini, MyLyn va synchroniser les tâches de Mantis avec sa propore base, ce qui va prendre pas mal de temps la première fois. Les synchronisations suivantes seront plus rapides.
  • il ne reste plus qu'à ouvrir la liste des tâches depuis le menu Windows, Show View : Other, Task, TaskList (à ne pas concondre avec la simple vue Task) :

  • à partir de cette vue on peur gérer les tâches, simplement en double cliquant sur l'une d'entre elles :

  • enfin, il faudra réguliérement synchroniser les tâches avec Mantis, simplement en cliquant sur l'icône Synchronize Changed de la vue Task List.

Voilà, Mantis est maintenant intégré dans Eclipse, il y a même un bouton pour afficher la page web Mantis directement dans la fenêtre de tâche.

Bon développement !

Ecrire à l'auteur