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 🙂