5.5. Recherche de bogues

La page de recherche de bogues de Bugzilla est l'interface où vous pouvez trouver tout rapport de bogue, commentaire ou correctif actuellement dans le système Bugzilla. Vous pouvez jouer avec ici : http://landfill.bugzilla.org/bugzilla-4.4-branch/query.cgi.

La page de recherche a des contrôles pour sélectionner différentes valeurs pour tous les champs disponibles d'un bogue, comme décrit plus haut. Pour certains champs, plusieurs valeurs peuvent être sélectionnées. Dans ce cas, Bugzilla affiche les bogues dont le contenu du champ correspond à au moins une des valeurs sélectionnées. Si aucune n'est sélectionnée, alors le champ peut prendre n'importe quelle valeur.

Après avoir lancé une recherche, vous pouvez l'enregistrer en tant que Reherche enregistrée, qui apparaîtra alors dans le pied de page. Si vous êtes dans le groupe défini par le paramètre « querysharegroup », vous pouvez partager vos recherches avec d'autres utilisateurs, consulter Recherches enregistrées pour plus de détails.

5.5.1. Tableaux booléens

Les recherches avancées sont faites à l'aide de tableaux booléens.

Les tableaux booléens affinent encore plus l'ensemble de résultats renvoyés par une requête. Il est possible de rechercher des bogues vaec des combinaisons élaborées de critères.

La plus simple des recherches booléennes n'a qu'un seul terme. Ces recherches permettent au champ sélectionné à gauche d'être comparé en utilisant un opérateur ayant une valeur spécifique. En utilisant les boutons « Et », « Ou » et « Ajouter un autre tableau booléen », des termes supplémentaires peuvent être ajoutés à la requête, affinant ainsi encore la liste des bogues renvoyés par la requête.

Il y a trois champs pour chaque ligne d'une recherche booléenne.

  • Champ : les éléments recherchés

  • Opérateur : l'opérateur de comparaison

  • Valeur : la valeur à laquelle le champ est comparé

5.5.1.1. Substitution de pronom

Quelquefois, une requête a besoin de comparer un champ relatif à l'utilisateur (tel que « ReportedBy ») avec un rôle utilisateur spécifique (comme l'utilisateur exécutant la requête ou l'utilisateur à qui chaque bogue est assigné). Quand l'opérateur est « est égal à » ou « n'est pas égal à », la valeur peut être « %reporter% », « %assignee% », « %qacontact% » ou « %user% ». Le pronom d'utilisateur se réfère à l'utilisateur qui exécute la requête, ou, dans le cas des rapports de notifications, l'utilisateur qui sera destinataire du rapport. Les pronoms « reporter », « assignee » et « qacontact » se réfèrent aux champs correspondants dans le bogue.

Les tableaux booléens vous permettent aussi de saisir un nom de groupe dans tout champ relatif à un utilisateur si l'opérateur est « est égal à », « n'est pas égal à » ou « contient une des chaînes ». Ceci vous permettra de faire des requêtes sur tout membre appartenant (ou pas) au groupe spécifié. Le nom du groupe doit être saisi en suivant la syntaxe « %group.toto% », où « toto » est le nom du groupe. Donc, si vous recherchez des bogues rapportés par tout utilisateur appartenant au groupe « editbugs », vous pouvez alors saisir « %group.editbugs% ».

5.5.1.2. Négation

À première vue, la négation semble redondante. Plutôt que rechercher

PAS (« Résumé » « contient la chaîne » « toto »),

on peut rechercher

(« Résumé » « ne contient pas la chaîne » « toto »).

Cependant, la recherche

(« Copie à » « ne contient pas la chaîne » « @mozilla.org »)

trouverait tout bogue pour lequel quiconque dans la liste « Copie à » ne contient pas « @mozilla.org » alors que

PAS (« Copie à » « contient la chaîne » « @mozilla.org »)

trouverait tout bogue pour lequel il n'y a personne dans la liste « Copie à » qui contient la chaîne. De même, l'utilisation de la négation permet aussi la construction d'expressions complexes utilisant des termes séparés par « Ou » puis négativés. La négation permet des requêtes telles que

PAS ((« Produit » « est égal à » « mise à jour ») OU (« Composant » « est égal à » « Documentation »))

pour trouver des bogues qui ne sont ni dans le produit « mise à jour », ni dans le composant « Documentation » ou

PAS ((« Commentateur » « est égal à » « %assignee% ») OU (« Composant » « est égal à » « Documentation »))

pour trouver des bogues qui ne sont pas liés à la documentation et pour lesquels le responsable n'a jamais fait de commentaires.

5.5.1.3. Tableaux multiples

Les termes contenus dans une seule ligne d'un tableau booléen sont tous liés à une seule information. Si vous recherchez un bogue ayant deux personnes différentes dans la liste « Copie à », vous devez alors utiliser deux tableaux booléens. Une recherche pour

(« Copie à » « contient la chaîne » « toto@ ») ET (« Copie à » « contient la chaîne » « @mozilla.org »)

ne renverra que les bogues avec « foo@mozilla.org » dans la liste « Copie à ». Si vous voulez les bogues pour lesquels il y a quelqu'un dans la liste « Copie à » contenant « foo@ » et un autre contenant « @mozilla.org », vous aurez alors besoin de deux tableaux booléens.

Premier tableau : (« Copie à » « contient la chaîne » « toto@ »)

Deuxième tableau : (« Copie à » « contient la chaîne » « @mozilla.org »)

Les bogues listés seront seulement ceux pour lesquels TOUS les tableaux sont vrais.

5.5.2. Recherche d'un bogue spécifique

La recherche rapide est un outil de recherche sous la forme d'une simple boîte de texte pouvant utiliser les méta-caractères pour indiquer ce que l'on cherche. Par exemple, en saisissant « toto|titi » dans la boîte de texte, cele effectuera une recherche de « toto » ou « titi » dans les champs « Résumé » et « Tableau blanc » d'un bogue ; en ajoutant « :ProduitX », la recherche s'effectuera seulement dans ce produit. Vous pouvez l'utiliser pour trouver un bogue par son numéro ou son alias aussi.

La boîte de recherche rapide se trouve dans le pied des pages de Bugzilla. Sur la page d'accueil de Bugzilla, se trouve un lien Aide qui détaille son utilisation.

5.5.3. Sensibilité à la casse dans les recherches

Les recherches dans Bugzilla sont insensibles à la casse et aux accents, avec l'utilisation de systèmes de gestion de bases de données MySQL ou Oracle. Cependant, lorsque Bugzilla est utilisé avec PostgreSQL, certaines recherches sont sensibles à la casse. Ceci est dû à la façon dont PostgreSQL traite la sensibilité à la casse et aux accents.

5.5.4. Listes des bogues

Si vous lancez une recherche, une liste des bogues correspondant sera renvoyée.

Le format de cette liste est configurable. Par exemple, elle peut être triée en cliquant sur les en-têtes de colonnes. D'autres fonctionnalités utiles peuvent être accédées en utilisant les liens au bas de la liste :

Format long :

Ceci donne une grande page avec les champs « Résumé » non modifiables de chaque bogue.

XML :

Produit la liste de bogues au format XML.

CSV :

Produit la liste de bogues comme des valeurs séparées par des virgules, pour l'importer par exemple dans un tableur.

Flux :

Produit la liste de bogues sous forme de flux Atom. Copiez ce lien dans votre lecteur de flux préféré. Si vous utilisez Firefox, vous pouvez aussi enregistrer la liste sous forme de marque-page dynamique en cliquant sur l'icône de marque-page dynamique dans la barre d'adresse. Pour limiter le nombre de bogues dans le flux, ajouter un paramètre « limit=n » à l'URL.

iCalendar :

Produit la liste sous forme de fichier iCalendar. Chaque bogue est représenté sous forme de tâche dans l'agenda importé.

Changer les colonnes :

Modifie les attributs des bogues apparaissant dans la liste.

Changer plusieurs bogues à la fois :

Si votre compte a suffisamment de droits et qu'il apparaît plus d'un bogue dans la liste, ce lien est affiché et vous permet d'apporter le même changement sur tous les bogues de la liste. Par exemple, changer leur responsable.

Envoyer un courriel aux responsables des bogues :

Si plus d'un bogue apparaît dans la liste et qu'il y a au moins deux responsables distincts, ce lien est affiché pour permettre d'envoyer facilement un courriel à tous les responsables de ola liste de bogues.

Modifier la recherche :

Si vous n'obtenez pas exactement les résultats que vous escomptiez, vous pouvez revenir à la page de requête par ce lien et faire des ajustements sur la requête pour obtenir de meilleurs résultats.

Enregistrer sous :

Vous pouvez donner un nom à la requête et l'enregistrer ; un lien apparaîtra dans votre pied de page et vous permettra d'y accéder et de l'exécuter rapidement plus tard.

5.5.5. Ajout/suppression de marqueurs

Vous pouvez ajouter ou supprimer des marqueurs dans chaque bogue, qui vous permettent de les trouver et de les gérer plus facilement. Les marqueurs sont propres à un utilisateur et ne peuvent être affichés ou modifiés que par l'utilisateur qui les a créés. Vous pouvez alors lancer des requêtes en utilisant des marqueurs comme critère, en utilisant soit le formulaire de recherche avancée, soit en saisissant « tag:mon_nom_de_marqueur » dans la bo^te de recherche rapide en haut (ou en bas) de la page. Pour activer cette fonctionnalité, vous devez activer la préférence utilisateur « Activer l'utilisation des marqueurs pour les bogues », voir Section 5.10, « Préférences utilisateur ». Cette fonctionnalité est désactivée par défaut.

Cette fonctionnalité est utile pour suivre plusieurs bogues mais pour des raisons différentes. Plutôt que de vous ajouter à la liste « Copie à » de tous ces bogues et de mélanger toutes ces raisons, vous pouvez maintenant les stocker dans des listes séparées, par exemple « Ne pas oublier », « Bogues intéressants » ou « Triage ». Un des gros avantages de ce moyen de gérer les bogues est que vous pouvez facilement ajouter ou enlever les marqueurs des bogues un par un.