2.5. Rechercher des bogues

Bugzilla dispose de différentes options de recherche.

Note

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.

2.5.1. Recherche rapide

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, cela 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.

2.5.2. Recherche simple

La recherche simple est utile pour trouver un bogue en particulier. Cela fonctionne comme un moteur de recherche Internet : saisissez quelques mots-clés et c'est parti.

2.5.3. Recherche avancée

La page de recherche avancée est utilisée pour produire une liste de bogues correspondant à des critères précis. Vous pouvez l'essayer sur Landfill.

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

2.5.4. Recherche personnalisée

Les recherches élaborées sont faites en utilisant la fonctionnalité Recherche avancée dans la page Recherche avancée.

Les critères de recherche ici affinent encore plus l'ensemble de résultats renvoyés par une requête. Il est possible de rechercher des bogues avec 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 une nouvelle ligne, 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 par colonne pour une recherche personnalisée :

  • Champ : les éléments recherchés
  • Opérateur : l'opérateur de comparaison
  • Valeur : la valeur à laquelle le champ est comparé

La liste des champs disponibles contient tous les champs définis pour un bogue, y compris les champs personnalisés et aussi quelques pseudo-champs comme Nom réel, Jours écoulés depuis le dernier changement, Temps d'inactivité du responsable et d'autres qui peuvent être utiles.

Il y a un large panel d'opérateurs disponibles, tous n'ayant pas forcément de sens suivant le champ. Il existe diverses opérations de correspondance de chaîne de texte (y compris les expressions régulières), des comparaisons numériques (qui fonctionnent aussi pour les dates) et la possibilité de rechercher un changement d'information—quand un champ a été changé, ce qui a changé et qui l'a fait. Il existe aussi des opérateurs spéciaux comme est vide et n'est pas vide, car Bugzilla ne peut pas faire la différence entre une valeur de champ laissée vide intentionnellement ou par accident.

Vous pouvez avoir un nombre de lignes arbitraire, et la liste déroulante pour chacune d'elles définit comment elles sont liées—Correspond à TOUS les critères qui suivent séparément, Correspond à AU MOINS UN des critères qui suivent ou Correspond à TOUS les critères qui suivent dans le même champ. La différence entre la première et la troisième peut être illustrée par une recherche sur un commentaire. Si vous avez la recherche :

Commentaire   contient la chaîne   « Fred »
Commentaire   contient la chaîne   « Barney »

alors, selon la première (séparément) la recherche renverrait des bogues où « Fred » aparaîtrait dans un commentaire et « Barney » dans le même commentaire ou dans un autre, alors que pour la troisième (dans le même champ), les deux chaînes devraient apparaître dans le même commentaire.

2.5.4.1. Fonctionnalités avancées

Si vous cliquez sur le lien Afficher les fonctionnalités avancées, d'autres possibilités apparaîtront. Vous pouvez rejeter (PAS) toute ligne en cochant une case (voir ci-dessous) ou un groupe de lignes entre parenthèses. Dans chaque ensemble de parenthèses, vous avez le choix de les combiner toutes en utilisant TOUS (c'est-à-dire ET) ou AU MOINS UN (c'est-à-dire OU).

2.5.4.2. Négation

À première vue, la négation semble superflue. 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.

2.5.4.3. 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 :

rapporteur   est égal à   %group.editbugs%

2.5.5. Listes de bogues

Si vous lancez une recherche, une liste des bogues correspondants 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 (icône):
Produit la liste de bogues au format XML.
CSV (icône):
Produit la liste de bogues comme des valeurs séparées par des virgules, pour l'importer par exemple dans un tableur.
Flux (icône):
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 (icône):
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 la 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.

Cette documentation contient très probablement des bogues ; si vous en découvrez, veuillez les signaler ici.