Mantis

Workflow pour les bugs

Posted by Amel 
Workflow pour les bugs
May 28, 2007 10:45AM
Décidemment, aujourd'hui est la journée des questions !

Je voudrais savoir s'il est possible de mettre en place un workflow pour l'enchaînement des statuts pour un bug, histoire qu'on ne passe pas d'un statut à un autre comme ça. De plus, dans ce workflow, j'aimerais pouvoir "automatiser" certaines étapes. Par exemple, je voudrais que quand je met un champ personnalisé à telle valeur, le bug devienne "fermé" (champ personnalisé de type énumération).

Amel
Re: Workflow pour les bugs
May 28, 2007 10:53AM
Quote
Amel
Décidemment, aujourd'hui est la journée des questions !

Je voudrais savoir s'il est possible de mettre en place un workflow pour l'enchaînement des statuts pour un bug, histoire qu'on ne passe pas d'un statut à un autre comme ça.

Oui c'est possible et par projet en plus.
Cliquez sur "Manage" -> "Manage Configuration" -> "Workflow Transitions". Et là vous n'avez plus qu'à modifier la partie Workflow.

Quote

De plus, dans ce workflow, j'aimerais pouvoir "automatiser" certaines étapes. Par exemple, je voudrais que quand je met un champ personnalisé à telle valeur, le bug devienne "fermé" (champ personnalisé de type énumération).

Là c'est trop demandé (pour l'instant en tout cas) winking smiley
A moins que...
A quel moment le champ personnalisé est changé ? Lors d'un update du bug ?

Vincent


Mantis: 1.1.0, 1.1.5, 1.1.1
PHP: 5.0.4
SQL: MySQL 5.0.19
OS: Linux

Please complete your signature with your environment informations.
Enable skype notification here
Re: Workflow pour les bugs
May 28, 2007 11:06AM
Quote
deboutv
Là c'est trop demandé (pour l'instant en tout cas) winking smiley
A moins que...
A quel moment le champ personnalisé est changé ? Lors d'un update du bug ?

oui, normalement, il devrait être changé lors de l'update d'un bug, vu qu'il n'est pas dans la page de création...
Re: Workflow pour les bugs
May 28, 2007 11:21AM
Quote
Amel
Quote
deboutv
Là c'est trop demandé (pour l'instant en tout cas) winking smiley
A moins que...
A quel moment le champ personnalisé est changé ? Lors d'un update du bug ?

oui, normalement, il devrait être changé lors de l'update d'un bug, vu qu'il n'est pas dans la page de création...

Ok, alors on peut peut-être essayer un truc. Dans le fichier custom_functions_inc.php (à créer à la racine si besoin) il va falloir modifier la fonction suivante (pour avoir quelque chose du style) :
Language: PHP
custom_function_overwrite_issue_update_notify( $p_issue_id ) { $t_field_id = custom_field_get_id_from_name( &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;toto&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; ); // Remplacer toto par ce qui va bien. // remplacer STATUS par la valeur que le status doit prendre, // par exemple RESOLVED. Et penser à remplacer &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;valeur&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; ( custom_field_get_value( $t_field_id, $p_issue_id ) == &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;valeur&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; && bug_get_gield( $p_issue_id, &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;status&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; ) != STATUS ) { bug_set_field( $p_issue_id, &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;status&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;, STATUS ); } }

EDIT: J&#039;ai changé le nom de la fonction... (à chaque fois j&#039;oublie de le faire).

Vincent


Mantis: 1.1.0, 1.1.5, 1.1.1
PHP: 5.0.4
SQL: MySQL 5.0.19
OS: Linux

Please complete your signature with your environment informations.
Enable skype notification here



Edited 1 time(s). Last edit at 05/28/2007 11:26AM by deboutv.
Re: Workflow pour les bugs
May 28, 2007 11:34AM
Ca marche très bien. Merci beaucoup. Je vais abuser, mais du coup, j&#039;ai un autre "souci" : certains champs personnalisés doivent être remplis pour fermer le bug, j&#039;aimerais qu&#039;on oblige (ou demande) à les remplir quand on passe en statut "livré"... est-ce possible ?

Edit : Pour ceux qui seraient intéressés par ce bout de code, un petite coquille s&#039;est insérée :
	function custom_function_overwrite_issue_update_notify( $p_issue_id ) {
		$t_field_id = custom_field_get_id_from_name( &#039;toto&#039; ); // Remplacer toto par ce qui va bien.
		// remplacer STATUS par la valeur que le status doit prendre,
		// par exemple RESOLVED. Et penser à remplacer &#039;valeur&#039;
		if ( custom_field_get_value( $t_field_id, $p_issue_id ) == &#039;valeur&#039; && bug_get_field( $p_issue_id, &#039;status&#039; ) != STATUS ) {
			bug_set_field( $p_issue_id, &#039;status&#039;, STATUS );
		}
	}



Edited 1 time(s). Last edit at 05/28/2007 11:36AM by Amel.
Re: Workflow pour les bugs
May 28, 2007 11:49AM
Quote
Amel
Ca marche très bien. Merci beaucoup. Je vais abuser, mais du coup, j&#039;ai un autre "souci" : certains champs personnalisés doivent être remplis pour fermer le bug, j&#039;aimerais qu&#039;on oblige (ou demande) à les remplir quand on passe en statut "livré"... est-ce possible ?

Oui, cliquer sur "Manage" -> "Manage Custom Fields". Puis cliquer sur le champs personalisé. Vous avez normalement des cases à cocher "Required On Close", ... Il suffit de cocher les étapes où le champs est nécessaire.

Quote

Edit : Pour ceux qui seraient intéressés par ce bout de code, un petite coquille s&#039;est insérée :

Oui je l&#039;ai modifié juste après avoir posté winking smiley

Vincent


Mantis: 1.1.0, 1.1.5, 1.1.1
PHP: 5.0.4
SQL: MySQL 5.0.19
OS: Linux

Please complete your signature with your environment informations.
Enable skype notification here
Re: Workflow pour les bugs
May 28, 2007 03:36PM
Quote
deboutv
Quote

Edit : Pour ceux qui seraient intéressés par ce bout de code, un petite coquille s&#039;est insérée :

Oui je l&#039;ai modifié juste après avoir posté winking smiley

On va y arriver !! La bonne version est celle-ci :
Language: PHP
custom_function_override_issue_update_notify( $p_issue_id ) { $t_field_id = custom_field_get_id_from_name( &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;toto&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; ); // Remplacer toto par ce qui va bien. // remplacer STATUS par la valeur que le status doit prendre, // par exemple RESOLVED. Et penser à remplacer &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;valeur&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; ( custom_field_get_value( $t_field_id, $p_issue_id ) == &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;valeur&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; && bug_get_field( $p_issue_id, &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;status&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; ) != STATUS ) { bug_set_field( $p_issue_id, &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;status&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;, STATUS ); } }

Vincent


Mantis: 1.1.0, 1.1.5, 1.1.1
PHP: 5.0.4
SQL: MySQL 5.0.19
OS: Linux

Please complete your signature with your environment informations.
Enable skype notification here



Edited 1 time(s). Last edit at 05/28/2007 03:47PM by deboutv.
Re: Workflow pour les bugs
May 28, 2007 03:39PM
Quote
deboutv
Quote
deboutv
Quote

Edit : Pour ceux qui seraient intéressés par ce bout de code, un petite coquille s&#039;est insérée :

Oui je l&#039;ai modifié juste après avoir posté winking smiley

On va y arriver !! La bonne version est celle-ci :
Language: PHP
custom_function_override_issue_update_notify( $p_issue_id ) { $t_field_id = custom_field_get_id_from_name( &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;toto&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; ); // Remplacer toto par ce qui va bien. // remplacer STATUS par la valeur que le status doit prendre, // par exemple RESOLVED. Et penser à remplacer &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;valeur&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; ( custom_field_get_value( $t_field_id, $p_issue_id ) == &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;valeur&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; && bug_get_gield( $p_issue_id, &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;status&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>; ) != STATUS ) { bug_set_field( $p_issue_id, &<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;status&<a href="http://bugtracker.morinie.fr/mantis/view.php?id=039" target="_blank">#039</a>;, STATUS ); } }

euh... toujours pas : ce n&#039;est pas
bug_get_gield
, mais plutôt
bug_get_field
, c la seule chose que j&#039;ai changé du code original, et ça marche très bien ! winking smiley
Re: Workflow pour les bugs
May 28, 2007 03:49PM
Quote
Amel
Quote
deboutv
Quote
deboutv
Quote

Edit : Pour ceux qui seraient intéressés par ce bout de code, un petite coquille s&#039;est insérée :

Oui je l&#039;ai modifié juste après avoir posté winking smiley

On va y arriver !! La bonne version est celle-ci : ...

euh... toujours pas : ce n&#039;est pas
bug_get_gield
, mais plutôt
bug_get_field
, c la seule chose que j&#039;ai changé du code original, et ça marche très bien ! winking smiley

J&#039;ai changé le gield, merci winking smiley Par contre vous êtes sûre d&#039;avoir custom_function_overwrite_issue_update_notify ? (C&#039;est bien "override" et non "overwrite" qu&#039;il faut normalement).

Vincent


Mantis: 1.1.0, 1.1.5, 1.1.1
PHP: 5.0.4
SQL: MySQL 5.0.19
OS: Linux

Please complete your signature with your environment informations.
Enable skype notification here
Re: Workflow pour les bugs
May 28, 2007 04:25PM
Quote
deboutv
Par contre vous êtes sûre d&#039;avoir custom_function_overwrite_issue_update_notify ? (C&#039;est bien "override" et non "overwrite" qu&#039;il faut normalement).

ah oui, j&#039;avais oublié ça aussi !! :p J&#039;ai pas eu de souci entre "override" et "overwrite" mais entre "override" et "default", du coup, c&#039;était facilement repérable !
Re: Workflow pour les bugs
May 28, 2007 04:28PM
Quote
Amel
Quote
deboutv
Par contre vous êtes sûre d&#039;avoir custom_function_overwrite_issue_update_notify ? (C&#039;est bien "override" et non "overwrite" qu&#039;il faut normalement).

ah oui, j&#039;avais oublié ça aussi !! :p J&#039;ai pas eu de souci entre "override" et "overwrite" mais entre "override" et "default", du coup, c&#039;était facilement repérable !

Edit : je viens de comprendre la question... en fait, non, j&#039;ai repris votre code pour ce que j&#039;ai écrit sur le forum, mais dans ma version de mantis, il n&#039;y a jamais eu overwrite.
Sorry, only registered users may post in this forum.

Click here to login



Online Users

Guests: 7
Record Number of Users: 1 on April 02, 2023
Record Number of Guests: 115 on November 09, 2023
Top Users
Hébergeur : Morinie.Fr