Configuration mantis bugtracker

Cet article est assez ancien, malgré toute l'attention que j' apporte à mes contenus il est possible que celui-ci ne soit plus d'actualité.
N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.

A l’occasion de la mise en place d’une nouvelle plateforme avec mantis bugtracker, j’ai constaté que mon expérience utilisateur était loin d’être aussi pratique que les plateformes sur lesquelles je travaille au quotidien.
J’en profite donc pour mettre en place une procédure de mise en ligne pour mantis bugtracker à partager 🙂

Voici donc le plan d’attaque pour configurer et optimiser le bugtracker ( c’est tout à fait subjectif pour mon usage ^^ )

  • Configuration des paramètres généraux ( emails, logo, copyright )
  • Activation de la gestion du temps
  • (Optionnel)Modification du workflow
  • Installation de plugins complémentaires

Il faut savoir que la configuration spécifique de mantis est réalisée dans le fichier config_inc.php située à la racine de votre installation.
Toutes les options disponibles sont quand à elles visibles et bien documentées dans le fichier config_defaults_inc.php ( situé lui aussi à la racine de votre installation )

– Configuration des paramètres généraux

Lorsque vous éditez votre fichier config_inc.php il contient par défaut uniquement les lignes suivantes, relatives à la base de données

$g_hostname = 'localhost';
$g_db_type = 'mysql';
$g_database_name = 'mantis';
$g_db_username = 'user';
$g_db_password = 'password';

Pour commencer nous allons renseigner toutes les informations relatives à l’email de l’administrateur en rajoutant les lignes suivantes :

/* Emails */
$g_administrator_email  = 'user@example.com';
$g_webmaster_email      = 'user@example.com';
$g_from_name            = 'user@example.com';
$g_from_email           = 'user@example.com';
$g_return_path_email    = 'user@example.com';

On va ensuite affiner les droits d’accès au différents éléments de l’interface

/* Désactivation de l'inscription publique des utilisateurs */
$g_allow_signup = OFF;
 
/* Affichage des éléments de l'interface */
$g_view_changelog_threshold = DEVELOPER;
$g_roadmap_view_threshold = DEVELOPER;
 
/* Restrictions d'accès */
$g_monitor_bug_threshold = DEVELOPER;
$g_limit_reporters            = OFF; //Passer à ON pour que les raporteurs puissent uniquement voir leurs bugs
$g_private_bug_threshold = DEVELOPER;

Concernant l’upload des pièces jointes, mantis utilise par défaut la base de données, ce qui n’est pas très pratique pour faire des backups car la taille de la base grandit excessivement vite,
De mon point de vue il est donc préférable d’utiliser le mode d’upload par fichiers, ( au passage on exclus les extensions non sécurisées )

/* Stockage des fichiers */
$g_file_upload_method = DISK;
$g_absolute_path_default_upload_folder = '/home/dir/myuploaddir/';
$g_disallowed_files        = 'java,exe,sh';

Pour finir nous pouvons personnaliser un peu l’apparence du bugtracker

/* Apparence */
$g_default_language        = 'french';
$g_window_title            = 'Mon super bugtracker';
$g_logo_image            = 'images/logo_bt.jpg';
$g_ico_link             = 'images/favicon.ico';

La configuration générale est à présent OK

 – Activation de la gestion du temps :

Pour suivre au mieux les actions de chacun, il est nécessaire d’activer la gestion du temps, pour cela il faut insérer les lignes suivantes :

/* Gestion des heures de travail et des date limites */
$g_due_date_update_threshold = DEVELOPER;
$g_due_date_view_threshold = REPORTER;
$g_time_tracking_enabled = ON;
$g_time_tracking_with_billing = ON;

Cela permettra d’afficher à la fois le champ due_date (date de livraison souhaité ), et la possibilité de saisir la durée de chaque action.

Date échéance mantis bugtrackerDurée action mantis bugtracker

Il sera ainsi possible de connaître avec précision le temps passé sur chaque bug.

  – (Optionnel)Définition du workflow :

Le workflow par défaut de mantis est le suivant :

nouveau    > commentaire >   accepté > confirmé > affecté > résolu > fermé

Si vous souhaitez rajouter une nouvelle étape dans le workflow,vous pouvez consulter l’article qui détaille comment procéder : Ajouter une étape dans le workflow Mantis Bugtracker

 – Installation des plugins

L’installation de mantis est à présent terminée, cependant pour optimiser le processus de travail je mets toujours en place les plugins suivants :

Agenda : Permets de visualiser les dates d’échéances des bugs sur un calendrier
Reminder : Envoi hebdomadaire d’un rappel des bugs en cours à tous les développeurs
FileUpload : Plugin d’envoi Drag & Drop des pièces jointes

Ces plugins ont été réalisés par mes soins pour répondre à des besoins particuliers, n’hésitez pas à m’envoyer vos retours et à les partager 😉

Une fois l’ensemble de ces étapes effectuées, mon bugtracker est pleinement opérationnel et peut commencé à se remplir de nouveaux bugs 🙂

28 réflexions sur “Configuration mantis bugtracker”

  1. Merci pour votre réponse
    Oui en faite j’ai eu du mal a configurer la notification mail sur gmail
    Mais probleme résolu =)

    Par contre excuser moi si je vous dérange…

    Mes utilisateurs peuvent voir les tickets de tous le monde,

    Savez vous si il est possible pour le rang utilisateurs uniquement de ne pas voir « afficher les tickets » sur la page principal ?

    Les utilisateurs peuvent également voir les tickets recèment créer dans > mon affichage > modifié recement

    1. Bonjour,

      Dans ce cas vous pouvez activer l’option dans la configuration pour que les utilisateurs ne voient que leurs bugs :
      $g_limit_reporters = ON; //Passer à ON pour que les rapporteurs puissent uniquement voir leurs bugs

      Cordialement,

  2. Bonjour,

    je suis actuellement entrain de personnaliser mantis en local ( avec WAMP), et j’aimerai ajouter des champs de type date avec un calendrier pour sélectionner la date ( comme pour la date d’échéance ). Le soucis c’est qu’à la place du calendrier j’ai 3 listes déroulantes (jour/mois/année).
    Auriez-vous une solution ?

    Cordialement,

    1. Bonjour,

      Dans votre cas la problématique est plutôt d’ordre javascript et pas spécifiquement liée à mantis.
      A ma connaissance le datepicker de base de mantis ne peut pas gérer ce genre de comportement.
      Il faudrait peut etre voir avec jQueryUi, je vous avoue que je n’ai jamais eut ce genre de contrainte.

      Cordialement,
      Hervé

  3. j’ai déployé mantis en local sur wampserver mais comment ajouter d’autres utilisateurs?
    Quand je remplis les paramètres de connection et que je met le mail d’un nouvel utilisateur, il ne recoit pas de mail pour creer son compte.Que faire?

    1. Bonjour,

      Ce n’est effectivement pas pratique d’utiliser mantis en multi-utilisateurs avec wampserver. ( A la base ce n’est pas fait pour ça )
      Pour débloquer votre situation il existe de nombreux tutoriels expliquant comment envoyer des emails avec wampserver :
      Par exemple :
      https://www.grafikart.fr/blog/mail-local-wamp

      L’idéal resterait cependant de prendre un hébergement spécifique 🙂

      Cordialement,
      Hervé

  4. Bonjour,
    Je tente de lancer l’installation de mantis sur mon hébergement OVH.
    J’ai placé le dossier dans le répertoire www mais lorsque j’y accède je tombe sur une erreur 400 => « Échec de connexion à la base de données. L’erreur renvoyée était #2002 : Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2). »
    Il y a sûrement des étapes préalables mais je ne sais pas vraiment par où commencer…
    Pouvez-vous m’aider ?
    D’avance merci

    1. Bonjour,
      Pour le coup je ne peux pas faire grand chose pour vous, votre problème est spécifique à votre hébergement.
      L’erreur signifie que mantis ne parvient pas à se connecter à la base de données de votre hébergement.
      Ce qui peut être lié entre autre à :
      – des mauvais paramètres saisis
      – une erreur temporaire chez l’hébergeur.

      Cordialement,
      Hervé

  5. Bonjour
    tout d’abord merci pour ce blog intéressant.
    Juste une question, je souhaite paramétrer l’application MANTIS BT pour afficher le mot « signalement » à la place de « bogue » par où il apparaît.
    Pour info j’ai installé la 2.0.0
    Cordialement
    Sébastien

  6. Bonjour
    Merci pour ce blog très instructif et fort bien documenté.

    Je suis en version 1.2.15.

    Je tente de mettre en place le paramétrage de téléchargement hors database.

    Je modifie le fichier config_inc.php en y ajoutant le paramètre
    $g_absolute_path_default_upload_folder = ‘/home/dir/myuploaddir/

    J’ai créé le répertoire C:\UwAmp\www\mantisbt\dir\myuploaddir et donné les droits en mise à jour.

    Malheureusement je n’arrive pas à télécharger les fichiers.
    L’application me donne l’erreur suivante : « APPLICATION ERROR #503 Chemin de dépôt non valide. Le répertoire n’existe pas ou le serveur web ne peut pas y écrire »
    Je tourne en rond depuis un certain temps.
    J’ai tenté de mettre un nom de répertoire à la mode Windows : sans succès (c’est pire)
    J’ai chargé dans la documentation administration guide (page 22) mais j’avoue ne pas avoir compris le fonctionnement du path.

    La question est simple : où doit être positionné le répertoire sur le serveur ?
    C:\UwAmp\www\mantisbt\dir\myuploaddir ?
    C:\UwAmp\www\mantisbt\myuploaddir ?
    C:\UwAmp\www\myuploaddir ?
    ???

    Un grand merci pour votre réponse.

    Jean-Marie

    1. Bonjour,

      Je vous avoue que je ne connais pas le fonctionnement spécifique de uwamp.
      Mais à priori via la configuration suivante cela devrait fonctionner.
      (Il faut renseigner le chemin exact du dossier sous votre poste, le chemin « /home/dir/myuploaddir/ » est juste un exemple )

      $g_absolute_path_default_upload_folder = « C:\UwAmp\www\mantisbt\dir\myuploaddir »

      Cordialement,
      Hervé

  7. Un grand merci pour cette réponse plus que rapide.

    J’ai mis en œuvre le paramètre suivant (qui fonctionne grâce à vous) :
    $g_absolute_path_default_upload_folder = ‘C:/UwAmp/www/mantisbt/dir/myuploaddir/’;

    Cela sera peut-être utile à un futur uwampeur…

    Bien cordialement.
    Jean-Marie

  8. Bonjour et merci pour toutes ces infos et astuces.
    Sur la dernière version de l’outil, sauriez-vous comment modifier la page « My-view » (pavés, disposition) ?
    Merci,
    Cordialement,
    Luc.

    1. Bonjour,

      Sur la nouvelle version ces éléments sont gérables directement depuis la configuration.
      Les paramètres par défaut sont visibles dans le fichier de configuration de base « config_defaults_inc.php »


      $g_my_view_boxes = array (
      'assigned' => '1',
      'unassigned' => '2',
      'reported' => '3',
      'resolved' => '4',
      'recent_mod' => '5',
      'monitored' => '6',
      'feedback' => '0',
      'verify' => '0',
      'my_comments' => '0'
      );

      Il vous suffit de les surcharger dans l’administration pour changer l’ordre ( ou de mettre 0 pour ne pas les afficher )
      Le sujet est intéressant, si j’ai le temps je ferais un nouvel article sur comment ajouter des blocs personnalisés comme je l’avais déjà fait pour l’ancienne version.

      Cordialement,
      Hervé

  9. Bonjour,
    sur la page d’accueil de MANTIS,
    l’heure indiquée est décalée de 4h00.

    Pouvez vous m’indiquer comment modifier cette heure ?
    merci.
    Cdlt
    Elie

  10. Bonjour.
    Je souhaiterais extraire automatiquement lensemble des données et des bugs ajoutésur au fur et à musure sur mantis chaque jours et ensuite les enregistrer automatiquement sur Excel et avec des macrosolutions me détectera les bug à traiter en urgence et ainsi faire des graphiques par la suite. Que me conseillerez vous pour faire l’extraction et la mise à jours automatique vers un Excel. Merci de votre réponse. Cordialement

    1. Bonjour,

      A priori je dirais qu’il y’a plusieurs possibilités :
      – Utiliser l’api depuis votre application pour récupérer les données
      – Sinon faire un script php standard qui va récupérer les données et les enregistrer dans un csv que vous pouvez générer via une tache planifiée.
      – ( en fonction de votre hébergement ) : Connection ODBC vers la bdd de mantis depuis excel pour extraction des données en direct

      Après je n’ai réalisé aucune de ces possibilités je ne pourrais donc pas vous fournir plus d’informations.
      Cordialement,
      Hervé

  11. Bonjour,

    Nous venons d’installer MantisBT 2.19 sur une VM et nous cherchons à le lancer depuis SquashTM, mais nous avons une erreur « content is now allowed in prolog » quand nous cherchons à nous connecter à Mantis depuis Squash. Sur d’autres forums Squash, on parle de problème d’encodage utf8-BOM alors qu’il faut du non BOM mais je ne sais pas où chercher. Auriez-vous un conseil ou des pistes pour arriver enfin à résoudre ce problème ? Merci d’avance.

    1. Bonjour,

      Je ne connais pas du tout SquashTM, je ne saurais donc malheureusement pas vous aider sur cette solution.
      Concernant l’encodage des fichiers en utf8 sans BOM vous pouvez ouvrir un des fichiers du projet avec Notepad++ par exemple.
      Dans le coin en bas à droite vous verrez l’encodage actuel de votre fichier. Et vous pourrez si nécessaire changer le mode d’encodage via le menu « Encoding »

      Cordialement,
      Hervé

  12. Bonjour,
    Je ne sais pas si Mr Hervé peut encore intervenir. J’utilise la version 2.4.0, je voudrais intégrer le plugin Reminder et Agenda, pourriez-vous SVP nous guider. Avec la procédure normale (mise en place du dossier dans plugin, installation …) le bouton installation ne s’affiche pas car c’est la version ultérieur 2.4.0. Grand grand grand Merci d’avance.

  13. Bonjour,
    Je ne sais pas si Mr Hervé peut encore intervenir. J’ai, pour chaque bogue, ajouté un champ email qui correspond a l’email de mon « client ». J’aimerai, à chaque fois que le bug est passé en résolu, envoyer un email à ce « client » pour lui dire que le bug a été résolu.
    Savez-vous si c’est possible de faire ceci?
    Cordialement

    1. Bonjour,
      Si c’est un utilisateur qui existe sur le bugtracker il suffit de le rajouter dans les utilisateurs qui suivent le bug pour qu’il soit notifié de toutes les mises à jour.
      Dans le cas d’un développement spécifique je ne saurais pas vous dire avec exactitude.
      Selon la documentation ( https://www.mantisbt.org/wiki/doku.php/mantisbt:plugins_events ) il existe un événement EVENT_BUG_RESOLVED, je vous incites à regarder vers cela.

      Cordialement,
      Hervé

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *