Mantis Bugtracker

Logo Mantis bug trackerMantis bugtracker, est un outil de suivi des bugs facile et installer et à configurer.

A travers ces différents articles, vous pouvez retrouver des astuces de configurations, mais je partage également des plugins spécifiques qui ont été développés pour des besoins personnels.

Mantis Bugtracker : Supprimer une étape dans le workflow

En complément de mon précédent article  sur comment ajouter une étape dans le workflow Mantis bugtracker, voici comment supprimer une étape.
( je vous rassure tout de suite c’est beaucoup plus simple )

Par défaut le workflow est le suivant :

Workflow mantis défaut

Dans le fichier de configuration par défaut ( config_defaults_inc.php) ceci est défini par la ligne suivante :

/**
  *
  * @global string $g_status_enum_string
 */
$g_status_enum_string    = '10:new,20:feedback,30:acknowledged,40:confirmed,50:assigned,80:resolved,90:closed';

Dans mon exemple , je souhaite supprimer les statuts « Accepté » et « Confirmé »

Il faut donc mettre en place dans le fichier de configuration ( config_inc.php) le code suivant.
( Il suffit de supprimer les statuts que vous ne souhaitez plus afficher )

#Nouveau Workflow Mantis Suppression des status "Accepté" et "Confirmé"
$g_status_enum_string    = '10:new,20:feedback,50:assigned,80:resolved,90:closed';

Après actualisation de votre fichier le workflow a bien été changé 🙂

Mantis workflow perso

Mantis Bugtracker : Supprimer une étape dans le workflow Lire la suite »

Mantis bugtracker : Personnaliser la page de soumission de bug

Par défaut la page de soumission de bug de mantis Bugtracker est relativement exhaustive et contient de nombreux champs.
Comme vous pouvez le voir sur la capture ci-dessous :

Mantis soumission bug défaut

En fonction de votre utilisation tout ces champs ne sont pas forcément nécessaires, voici donc comment personnaliser cette page :
Dans mon exemple je souhaite afficher sur la page de soumission de bug uniquement les éléments suivants :

  • Catégorie de bug
  • Assignation au développeur
  • Priorité
  • Résumé
  • Description
  • Informations complémentaires
  • Pièces jointes
  • Date d’échéance

Pour cela il existe plusieurs possibilités pour faire cela.

Via l’administration :

C’est la solution la plus pratique et la plus facilement personnalisable :

Mantis Configuration soumission de bug

Rendez-vous dans « Administration/ Gérer la configuration ».
Choisissez ensuite l’utilisateur et le projet concerné.
Saisir l’option de configuration : bug_report_page_fields
Et le type « Complex »

Dans la configuration saisissez la commande suivante :

array (
0 => ‘category_id’,
1 => ‘view_state’,
2 => ‘handler’,
3 => ‘handler’,
4 => ‘priority’,
5 => ‘summary’,
6 => ‘description’,
7 => ‘additional_info’,
8 => ‘attachments’,
9 => ‘due_date’,
)

Via le fichier de configuration :

Dans le fichier config_inc.php

Mantis bugtracker : Personnaliser la page de soumission de bug Lire la suite »

Configuration mantis bugtracker

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  = '[email protected]'

Configuration mantis bugtracker Lire la suite »

Mantis Bugtracker : Plugin Multi-upload Drag & Drop

Le gestion des pièces jointes de base est relativement peu pratique avec Mantis Bugtracker, puisqu’il n’est possible d’envoyer qu’un seul fichier à la fois.
Chaque envoi du fichier nécessite un rechargement de la page, ce qui fait perdre du temps lorsqu’on souhaite en ajouter plusieurs.

Voici donc un plugin qui vous permettra d’ajouter facilement plusieurs pièces jointes par un simple glisser / déposer  sur une zone d’envoi définie :
Comme vous pouvez le voir sur la capture suivante :

Multiple Upload

 

Mantis Bugtracker n’étant pas en Html 5 , il m’a été nécessaire de contourner via l’insertion d’une iframe avec un code html.
Le plugin se base également sur les sources suivantes :

 

Les extensions de fichiers suivantes sont autorisées à l’envoi :
.jpg, .jpeg, .png, .gif, .tpl, .csv, .doc, .docx, .xls, .xlsx, .txt, .zip, .ppt, .pptx,.pdf,.psd,.html

Si vous souhaitez ajouter de nouvelles extensions, il faut éditer le fichier pages/js/jquery.fileUploader_init.js…

Mantis Bugtracker : Plugin Multi-upload Drag & Drop Lire la suite »

Mantis Bugtracker : Changer rapidement l’état de bugs

Petit rappel pratique sur Mantis Bugtracker voici comment changer rapidement l’état de plusieurs bugs de « public » à « privé » via les actions de masse.

Pour commencer rendez-vous sur la page « Mon Affichage »

Sélectionner les bugs pour lesquels vous souhaitez changer l’état
Dans le menu des actions sélectionner « Mettre à jour l’état de l’affichage »

mantis-maj-etat-1

Sélectionner ensuite l’état que vous souhaiter appliquer à ces bugs ( Public / Privé )

mantis-maj-etat-2

Et voila le statut de l’ensemble des bugs est bien changé 🙂…

Mantis Bugtracker : Changer rapidement l’état de bugs Lire la suite »

Modifier le workflow de mantis Bugtracker

En complément de mes précédents articles sur ce sujet ( Ajouter une étape dans le workflow MantisMantis bugtracker : ajouter un statut personnalisée sur la page « Mon affichage » ) voici un récapitulatif global sur le changement et l’optimisation  du workflow sur mantis bugtracker.
Si vous souhaitez supprimer une étape du worklow mantis, c’est par ici

Pour information voici le workflow standard de Mantis Bugtracker :
Workflow Mantis standard

Voici le workflow que je souhaite obtenir :worklow-modifie Pour obtenir cela voici les modifications à apporter pour mettre en place ces modifications

Modification des fichiers

Dans le fichier config_inc.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#Nouveau Workflow Mantis
$g_status_enum_string                = '10:new,20:feedback,50:assigned,55:waiting_internal_validation,60:waiting_customer_validation,65:waiting_for_production,80:resolved,90:closed';
 
#Définition des changements de statuts pour les statuts standards
$g_status_enum_workflow[NEW_]='20:feedback,50:assigned,80:resolved';
$g_status_enum_workflow[FEEDBACK] ='10:new,50:assigned,55:waiting_internal_validation,60:waiting_customer_validation,65:waiting_for_production,80:resolved';
$g_status_enum_workflow[ASSIGNED] ='20:feedback,55:waiting_internal_validation,60:waiting_customer_validation,65:waiting_for_production,80:resolved,90:closed';
$g_status_enum_workflow[RESOLVED] ='50:assigned,90:closed';
$g_status_enum_workflow[CLOSED] ='50:assigned';
 
#Définition des couleurs des nouveaux statuts
$g_status_colors['waiting_internal_validation'] = '#F3E2A9';
$g_status_colors['waiting_customer_validation'] = '#E0701A';
$g_status_colors['waiting_for_production'] = '#6B67F2';
 
#Definition des changements de statuts possibles pour nos nouveaux statuts
$g_status_enum_workflow[WAITING_INTERNAL_VALIDATION] ='20:feedback,50:assigned,60:waiting_customer_validation,65:waiting_for_production,80:resolved,90:closed';
$g_status_enum_workflow[WAITING_CUSTOMER_VALIDATION] ='20:feedback,50:assigned,55:waiting_internal_validation,65:waiting_for_production,80:resolved,90:closed';
$g_status_enum_workflow[WAITING_FOR_PRODUCTION] ='20:feedback,80:resolved,90:closed';
 
#Paramètres pour la page my_views.php

Modifier le workflow de mantis Bugtracker Lire la suite »

Mantis bugtracker : plugin d’envoi d’un récapitulatif hebdomadaire des bugs

Voici mon dernier plugin pour Mantis Bugtracker.
L’objectif de celui-ci est d’envoyer en début de semaine à chaque développeur un récapitulatif des bugs à traiter.
Ce module se base sur le traitement des échéances des bugs ( champ due_date )
(C’est un module très basique, il est possible d’optimiser encore pleins de points 😉 )

Nous allons l’appeller « Reminder »
Voici le mode opératoire de création de ce module.

Pour commencer nous allons créer un dossier « Reminder » dans le dossier « plugins » de mantis BugtrackerVoici le fichier de déclaration du module « Reminder.php »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
	Plugin Reminder pour Mantis BugTracker :
 
	 - Envoi d'un email récapitulatif des échéances de la semaine aux développeurs
 
	 @version 0.1.0 - 2013-07-23
	 @autor Hervé Hennes <[email protected]>
*/
 
class ReminderPlugin extends MantisPlugin {
 
	function register() {
		$this->name        = 'ReminderPlugin';
		$this->description = 'Envoi d\'un email récapitulatif des échéances de la semaine aux développeurs';
		$this->version     = '0.1.0';
		$this->requires    = array('MantisCore'       => '1.2.0',);
		$this->author      = 'Hennes Hervé';
		$this->url         = 'http://www.h-hennes.fr'

Mantis bugtracker : plugin d’envoi d’un récapitulatif hebdomadaire des bugs Lire la suite »

Création d’un plugin de suivi de temps pour Mantis Bugtracker : nouvelle version

Suite aux notifications reçues récemment concernant des problèmes de fonctionnement de mon plugin de suivi de temps pour le bugtracker mantis, j’ai décidé qu’il était temps de mettre à jour ce plugin. ( Celui-ci date de presque 2 ans déjà …  :-))

Je vous annonce donc la sortie de la version 0.2 du module.

plugin-agenda-v2.0

Celui-ci a été testé sans problèmes particuliers sur la dernière version de mantis à ce jour ( 1.2.15 )

Voici le changelog de cette version :

  • Ajout de la gestion des dates d’échéance.
  • Mise à jour de la version du fullCalendar ( 1.5.1 à 1.6.1)
  • Réorganisation de l’architecture des dossiers
  • Modifications des options d’affichage en fonction du profil de visualisation et du projet sélectionné
    • Administrateur :
      • visualisation de toutes les dates d’échéances
      • visualisation de toutes les actions des développeurs ( Possibilité de filtrer par développeur )
    • Développeur :
      • visualisation des dates d’échéances des bugs assignés
      • visualisation de ses actions

Attention afin que le plugin soit fonctionnel il est nécessaire d’avoir bien activé les options suivantes dans votre fichier config_inc.php…

Création d’un plugin de suivi de temps pour Mantis Bugtracker : nouvelle version Lire la suite »

Mantis bugtracker : changer le projet d’un bug depuis le formulaire de modification.

Petite astuce rapide, mais relativement pratique lorsque l’on travaille avec plusieurs projets avec mantis bugtracker, il est courant de saisir un bug dans le mauvais projet.
Pour corriger cela, il n’existe qu’un seul moyen, éditer directement ces informations dans la base de données…
Pas très pratique vous en conviendrez !

Pour faciliter cela quelques modifications suffisent :

Pour commencer nous allons éditer le fichier bug_update_advanced_page.php situé à la racine du dossier.

A la ligne 120 ( Avant le début du formulaire d’édition), rajoutez le code suivant :

#  Formulaire pour changer le projet d'un bug
echo '<form action="bug_update_change_project_page.php" name="form_bug_update_change_project" method="post" >
<input type="hidden" name="bug_id" value="',$f_bug_id,'" />
<input type="hidden" name="new_project_id" id="new_project_id" value="0" />
</form>';
# Fin Formulaire

Remplacez ensuite les lignes suivantes :

# Project Name
echo '<td>', $tpl_project_name, '</td>';

par

#Possibilité de changer le projet du bug
echo '<td>', $tpl_project_name,'<br />',
lang_get('change_project'),'&nbsp;
<select id="select_change_project_id" onchange="document.getElementById(\'new_project_id\').value

Mantis bugtracker : changer le projet d’un bug depuis le formulaire de modification. Lire la suite »

Mantis bugtracker : ajouter un statut personnalisée sur la page « Mon affichage »

En complément de mon précédent article qui présentait comment ajouter une étape dans le workflow de mantis, voici une nouvelle astuce dans l’utilisation du bugtracker mantis.

Nous allons voir  comment ajouter notre nouveau statut personnalisé dans les blocs situés dans la page « Mon affichage » (my_view_page.php).
Dans cet exemple nous souhaitons rajouter un bloc qui affichera l’ensemble des bugs qui sont en attente de mise en production. (cf article précédent)

Pour commencer nous allons mettre en place les nouveaux éléments nécessaires dans le fichier de configuration config_inc.php :

nous rajoutons la ligne suivante :

$g_bug_waiting_for_prod_status_threshold = 70;

le 70 correspond au numéro de workflow du statut de bug « En attente de mise en production »
c’est déjà fini pour le fichier de configuration 🙂

Passons ensuite au fichier custom_strings_inc.php dans lequel nous allons ajouter la ligne suivante :

$s_my_view_title_waiting_for_prod = "En attente de mise en production"

Pour personnaliser cette chaine avec votre statut, utilisez la racine « $s_my_view_title_ » suivi du nom de votre statut.…

Mantis bugtracker : ajouter un statut personnalisée sur la page « Mon affichage » Lire la suite »