Posts Tagged ‘bugtracker’

Sortie de mantis bugtracker 1.3 : Mise à jour de mes plugins

La version 1.3.0 de mantis bugtracker est sortie depuis le 9 juillet dernier.

Cette version apporte de nombreux changements, dont certains impactent les plugins développés comme :

  • L’intégration native de Jquery et de Jquery Ui
  • Le passage au html 5
  • Nouvelle politique des Content-Security-Policy (CSP) qui interdit l’utilisation de css ou de javascript inline
  • Interdiction de l’appel des pages php des plugins via leur url directe

Pour l’occasion j’ai donc remis à jour l’ensemble de mes plugins mantis avec les nouveaux prérequis.

Voici la liste exhaustive :

Upload File :
Permets de rajouter plusieurs pièces jointes à la fois à un bug en drag & drop
https://github.com/nenes25/mantisbt_uploadfiles

Agenda :
Affichage des dates d’échéances, et du temps passé sur les bugs dans un calendrier.
https://github.com/nenes25/mantisbt_agenda

Email File :
Ajout de pièces jointes à un bug via l’envoi d’un email
https://github.com/nenes25/mantisbt_EmailFile

Reminder :
Envoi d’un email récapitulatif à chaque développeur avec les bug à traiter les X prochains jours
https://github.com/nenes25/mantisbt_reminder

AutoChange Status :
Changement automatique du statut d’un bug après X jours.…

2 commentaires

Mantis Bugtracker : Plugin auto suggestion des noms des bugs et des utilisateurs

Voici un nouveau plugin pour mantis Bugtracker : AutoSuggestion.

Le principe de celui-ci est relativement simple et part du problème suivant avec mantis bugtracker :

Lorsqu’on souhaite associer un bug à un autre il est souvent fastidieux de mémoriser l’identifiant que l’on souhaite saisir dans le champ « Relations »
Même problème lorsqu’on souhaite ajouter un utilisateur au suivi d’un bug.

Ce plugin va donc permettre une auto complétion de ces champs comme vous pouvez le voir sur les captures suivantes :

Auto Suggestion bug

Auto Suggestion utilisateur

Auto Suggestion top

Pour télécharger ce plugin c’est par ici : Télécharger mantisbg_autosuggest

Pour toute suggestion ou contribution n’hésitez pas à soumettre vos idées sur github : https://github.com/nenes25/mantisbt_autosuggest

Pas de commentaires

Mantis Bugtracker : Télécharger plusieurs pièces jointes à la fois

Dans la continuité de mes plugins précédent concernant la gestion des pièces jointes pour Mantis Bugtracker ( qui n’est pas très pratique de base ), voici un nouveau plugin qui pour optimiser cette gestion.

En partant du constat suivant, pour télécharger les pièces jointes d’un bug, il est nécessaire de cliquer sur chaque élément, puis de les télécharger un par un.
Ceci reste pratique tant qu’il y’en a peu, mais devient vite long dès lors qu’on dépasse les 3 pièces jointes.

Ce plugin vous permettra donc de télécharger en une seule fois toutes les pièces jointes souhaitées :

dl-attachments

Il suffit de cocher les pièces jointes à télécharger dans la liste, puis de cliquer sur le bouton « Télécharger ».
Un fichier zip contenant l’ensemble des pièces demandées et ensuite généré.

Télécharger le module : mantisbt_MultipleFileDownload

Si vous souhaitez améliorer la gestion des pièces jointes sur votre application mantis, vous pouvez également consulter les liens suivants :

Pas de commentaires

Mantis Bugtracker : Personnaliser la page de visualisation d’un bug

A la suite de mon précédent article présentant comment personnaliser la page de soumission d’un bug , voici comment faire pour personnaliser la page d’affichage d’un bug avec Mantis Bugtracker
(Ceci fonctionne avec les versions supérieures à mantis 1.2 )

Note : La procédure à suivre pour modifier le formulaire d’édition d’un bug est exactement la même, mais il faut remplacer l’option de configuration par bug_update_page_fields

Voici l’affichage par défaut, sur lequel j’ai encadré en rouge les champs que je souhaite supprimer :

Afficher bug Mantis

Je souhaite donc supprimer les champs :

  • Impact
  • Plateforme
  • OS
  • Version

Avec mantis, les champs affichés sur cette page sont géré par l’option de configuration bug_view_page_fields

Il existe plusieurs options pour personnaliser cela

Via l’administration

Mantis bugtracker configurer view page

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

Dans la configuration saissez la commande suivante
array (
0=> ‘id’,
1=>’project’,
2=>’category_id’,
3=>’view_state’,
4=>’date_submitted’,
5=>’last_updated’,
6=>’reporter’,
7=>’handler’,
8=>’priority’,
9=>’status’,
10=>’resolution’,
11=>’summary’,
12=>’description’,
13 =>’additional_info’,
14 =>’steps_to_reproduce’,
15 =>’attachments’,
16 =>’due_date’,
)

Via le fichier de configuration

Dans le fichier config_inc.php entrez le code suivant :

$g_bug_view_page_fields = array (
'id',
'project',
'category_id',
'view_state',
'date_submitted',
'last_updated',
'reporter',
'handler',
'priority',
'reproducibility',
'status',
'resolution',
'fixed_in_version',
'summary',
'description',
'additional_info',
'steps_to_reproduce',
'attachments',
'due_date',
);

Une fois la configuration prise en compte, les champs sont bien masqués dans le nouvel affichage, comme vous pouvez le voir sur la capture suivante :

Mantis view After

8 commentaires

Mantis Bugtracker : Plugin Envoi de pièces jointes par emails

Ces dernières semaines, j’ai perdu pas mal de temps avec mantis bugtracker et la gestion des pièces jointes, c’est pourquoi après la réalisation d’un plugin d’upload multiple Drag & Drop , voici encore un nouveau plugin qui vous fera gagner du temps dans la gestion des pièces jointes et des bugs.

Le principe de fonctionnement du plugin EmailFile est très simple :

Il suffit d’envoyer un email pour que  les pièces jointes et les captures d’écrans de cet email  soient automatiquement ajoutées au bug souhaité.

L’association des pièces jointes au bug est gérée via l’objet de votre email.
Si vous souhaitez par exemple , ajouter des pièces jointes au bug : 355
l’objet de votre email pourrait être le suivant « 355 a la suite le texte que vous voulez »

Installation et configuration du module

Pour commencer télécharger la dernière version du module : MantisEmailFile
Ce module est dépendant du plugin « Jquery » que vous pouvez télécharger depuis l’adresse suivante : https://github.com/mantisbt-plugins/jquery

Déposer les fichiers des plugins téléchargés via ftp dans le dossier « plugins » de votre bugtracker.…

Pas de commentaires

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]';
$g_webmaster_email      = '[email protected]';
$g_from_name            = '[email protected]';
$g_from_email           = '[email protected]';
$g_return_path_email    = '[email protected]';

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.…

26 commentaires

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é 🙂…

Pas de commentaires

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
$g_bug_waiting_internal_validation_status_threshold = WAITING_INTERNAL_VALIDATION;
$g_bug_waiting_customer_validation_status_threshold = WAITING_CUSTOMER_VALIDATION;
$g_bug_waiting_for_production_status_threshold = WAITING_FOR_PRODUCTION;

Dans le fichier custom_constant_inc.php

1
2
3
4
5
#Nouveaux Status de mantis
# ( La numérotation des statuts ne se suis pas, au cas ou on souhaiterais rajouter d'autres statuts intermédiaires ultérieurement )
define('WAITING_INTERNAL_VALIDATION',55); #attente de validation interne
define('WAITING_CUSTOMER_VALIDATION',60); #attente de validation client
define('WAITING_FOR_PRODUCTION',65); #attente de mise en production

Dans le fichier custom_strings_inc.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 #Nouveau Workflow Mantis traduit en Français
 $s_status_enum_string = '10:Nouveau,20:Commentaire,50:affecté,55:Attente validation interne,60:Attente validation client,65:Atttente mise en production,80:Résolu ,90:Fermé';
 
 #Titre des boutons lors du changement de statut
 $s_waiting_internal_validation_bug_button = 'En attente de validation interne';
 $s_waiting_customer_validation_bug_button = 'En attente de validation client';
 $s_waiting_for_production_bug_button = 'En attente de Mise en production';
 
 #Titre des statuts dans le listing des bugs
 $s_waiting_internal_validation_bug_title = 'En attente de validation interne';
 $s_waiting_customer_validation_bug_title = 'En attente de validation client';
 $s_waiting_for_production_bug_title = 'En attente de Mise en production';
 
 #Sujet de l'email envoyé pour notifier le changement de statut
 $s_email_notification_title_for_status_bug_waiting_internal_validation = "Le bug suivant est en attente de validation interne";
 $s_email_notification_title_for_status_bug_waiting_customer_validation = "Le bug suivant est en attente de validation client";
 $s_email_notification_title_for_status_bug_waiting_for_production = "Le bug suivant est en attente de mise en production";
 
 #Titres pour la page my_view
 $s_my_view_title_waiting_internal_validation = "En attente de validation interne";
 $s_my_view_title_waiting_customer_validation  = "En attente de validation client";
 $s_my_view_title_waiting_for_production = "En attente de Mise en production";

Il est ensuite nécessaire de modifier le fichier système my_view_inc.php pour insérer les nouveaux filtres.…

23 commentaires

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

#Activation de la gestion du temps sur les bugs 
$g_time_tracking_enabled = ON;
#Activation de la date d'échéance des bugs
$g_due_date_update_threshold = DEVELOPER;
$g_due_date_view_threshold = REPORTER;

Récupérer la dernière version et les dernières informations du plugin depuis la page :
https://www.h-hennes.fr/blog/plugin-suivi-de-temps-pour-mantis-bugtracker/

20 commentaires

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 = this.value;document.forms.form_bug_update_change_project.submit();">'
,print_project_option_list( join( ';', helper_get_current_project_trace() ), true, null, true )
,'</select>',
'</td>';

Nous allons ensuite créer un nouveau fichier bug_update_change_project_page.php qui sera chargée de mettre à jour le projet du bug.…

2 commentaires


Archives

Compte Github