Dans le suivi d’un projet, il peut souvent être utile de rajouter une ou plusieurs étapes dans le cheminement des bugs ( ou workflow) de Mantis.

Par défaut le workflow de Mantis est le suivant

  • Nouveau
  • Commentaire
  • Accepté
  • Confirmé
  • Résolu
  • Fermé

Dans mon cas,  j’ai souhaité rajouté un statut “En attente de mise en production” pour bien identifier les bugs corrigés sur la version de préproduction du site, mais nécessitant encore d’être mis en place sur la version publique du site.

Voici la procédure à réaliser pour ajouter cette étape dans le workflow ( celle-ci peut être dupliquée pour ajouter plusieurs nouvelles étapes.)

Pour commencer il est nécessaire de créer  les fichiers custom_strings_inc.php et custom_constant_inc.php dans la racine de mantis ( ou de rajouter le contenu à la suite, si ces fichiers existent déjà)

Dans le fichier custom_constant_inc.php nous allons insérer le contenu suivant :

<?php define ( 'PROD', 70 ); ?>

Le chiffre 70 correspond au placement dans le cheminement de mantis qui par défaut est défini sous la forme suivante  par la variable $g_status_enum_string dans le fichier config_defaults_inc.php

$g_status_enum_string    = ’10:new,20:feedback,30:acknowledged,40:confirmed,50:assigned,80:resolved,90:closed’;

Comme le statut que nous souhaitons rajouter est à placer entre “assigned(Assigné)” et “resolved (Résolu)”, la valeur doit être comprise entre 50 et 80. A vous d’adapter cette numérotation en fonction de l’endroit ou vous souhaitez rajouter l’étape supplémentaire.

Nous allons ensuite éditer le fichier de configuration config_inc.php et y rajouter les informations suivantes :

<?php
 
/* Nouveau Workflow */
$g_status_enum_string                = '10:new,20:feedback,30:acknowledged,40:confirmed,50:assigned,70:waiting_for_prod,80:resolved,90:closed';
$g_status_colors['waiting_for_prod'] = '#31b2c5';
 
//Rédifinition du workflow pour chaque statut de bug en y rajoutant notre nouvelle étape
$g_status_enum_workflow[NEW_]='20:feedback,30:acknowledged,40:confirmed,50:assigned,70:waiting for prod,80:resolved';
$g_status_enum_workflow[FEEDBACK] ='10:new,30:acknowledged,40:confirmed,50:assigned,70:waiting for prod,80:resolved';
$g_status_enum_workflow[ACKNOWLEDGED] ='20:feedback,40:confirmed,50:assigned,70:waiting for prod,80:resolved';
$g_status_enum_workflow[CONFIRMED] ='20:feedback,50:assigned,70:waiting for prod,80:resolved';
$g_status_enum_workflow[ASSIGNED] ='20:feedback,70:waiting for prod,80:resolved,90:closed';
$g_status_enum_workflow[RESOLVED] ='50:assigned,90:closed';
$g_status_enum_workflow[CLOSED] ='50:assigned';
 
//Rajout de notre nouveau statut (la clé du tableau correspond à notre constante définie dans custom_constant_inc.php )
$g_status_enum_workflow[PROD] ='20:feedback,50:assigned,70:waiting for prod,80:resolved';
 
?>

Pour finir nous allons éditer le fichier custom_strings_inc.php qui va contenir les traductions pour ce nouveau statut.

<?php
 
//Workflow Mantis traduit en Français
$s_status_enum_string = '10:Nouveau,20:Commentaire,30:accepté,40:En attente de validation,50:affecté, 70:En attente de mise en prod,80:Résolu ,90:Fermé';
//Titre du bouton lors du changement de statut
$s_waiting_for_prod_bug_button = "En attente de Mise en prod";
// Titre du statut dans le listing des bugs
$s_waiting_for_prod_bug_title = "En attente de Mise en prod";
//Sujet de l'email envoyé pour notifier le changement de statut
$s_email_notification_title_for_status_bug_waiting_for_prod = "Le bug suivant est en attente de Mise en prod.";
?>

Les variables sont à écrire en relation avec le nom du statut défini dans la variable g_status_enum_string du fichier config_inc.php
Dans notre exemple le nom du statut est waiting_for_prod

Une fois cette étape terminée, uploadez ces nouveaux fichiers sur votre hébergement et le nouveau statut sera intégré dans le workflow 🙂