Langage de requête de recherche

Le langage de requête de recherche est la syntaxe que vous utilisez pour effectuer des recherches de problèmes dans l'outil Issue Tracker de Google. Vous pouvez utiliser la langue dans les requêtes que vous saisissez dans la barre de recherche. Vous pouvez également utiliser le générateur de recherche pour sélectionner graphiquement les critères, qui sont ensuite convertis dans le langage de requête à la fermeture du générateur de recherche.

Le langage de requête vous permet d'effectuer des recherches en fonction des critères suivants:

  • Mots clés
  • Paires champ/valeur

Les recherches que vous effectuez peuvent contenir plusieurs critères, y compris une combinaison de mots clés et de paires champ/valeur. La syntaxe du langage de requête vous permet de spécifier la relation et l'ordre dans lesquels les critères sont pris en compte à l'aide d'opérateurs logiques, de parenthèses et de guillemets.

Recherches par mots clés

Les mots clés sont des chaînes de texte que vous pouvez utiliser pour effectuer une recherche dans certains champs des problèmes. Ces champs sont les suivants:

  • Titre
  • Commentaires
  • Noms des pièces jointes
  • Champs contenant des utilisateurs (par exemple, Personne responsable ou Cc)
  • Champs contenant un numéro d'identification interne (par exemple, ceux qui spécifient le composant ou les listes d'urgence présentant un problème)
  • Champs contenant des numéros de version
  • Champs personnalisés

La chaîne configuration properties est un exemple de critère de recherche par mot clé. Lorsque vous saisissez ce critère dans une recherche, Issue Tracker recherche de manière globale les problèmes dans tous les composants et renvoie ceux dont les champs ci-dessus contiennent les deux mots clés, conformément aux autorisations que vous avez définies pour le contrôle des accès. Les mots clés peuvent se trouver dans des champs différents ou dans les mêmes champs.

Issue Tracker traite le caractère d'espacement qui sépare les critères de recherche comme un opérateur AND implicite. Vous pouvez utiliser des guillemets (") pour spécifier qu'une chaîne de plusieurs mots doit être considérée comme un seul mot clé. Toutes les recherches dans Issue Tracker ne sont pas sensibles à la casse, que vous utilisiez ou non des guillemets.

Recherches de paires champ/valeur

Vous pouvez également spécifier des critères de recherche sous la forme d'une paire champ/valeur. La syntaxe de base est [field]:[value]. Pour les champs de texte, cette syntaxe correspond aux problèmes pour lesquels le champ spécifié contient la valeur. Pour les autres types de champs, elle correspond aux problèmes où la valeur du champ est équivalent.

Par exemple, une recherche sur title:latency correspond aux problèmes liés au mot latency dans le champ Title (Titre). Une recherche sur priority:p0 permet de détecter les problèmes avec une priorité de p0.

Notez que pour les champs de temps et de nombre, vous pouvez utiliser d'autres symboles relationnels en plus du caractère deux-points. Consultez la section Opérateurs relationnels ci-dessous.

Recherches de valeur spéciale avec "any" et "none"

Les champs facultatifs peuvent être interrogés avec les valeurs spéciales any et none. any correspond à toute valeur non nulle. none correspond aux valeurs nulles. Pour obtenir la liste de tous les libellés de champ acceptés dans le langage de requête de recherche, consultez la documentation de référence sur les requêtes de recherche.

Opérateurs logiques

Les opérateurs logiques vous permettent de spécifier plusieurs critères et d'indiquer la relation entre eux. Comme indiqué ci-dessus, les espaces entre guillemets agissent comme des opérateurs AND implicites. Issue Tracker est compatible avec les opérateurs logiques explicites supplémentaires suivants:

Opérateur Autre symbole Description Exemple
ET {whitespace} Correspond si le problème contient les deux critères star:true AND componentid:46046
OU | Correspond si le problème contient l'un ou l'autre des critères type:(Bug|feature_request)
NOT - Correspond si le problème ne contient pas les critères -assignee:jim
"..." Correspond si le problème contient une expression citée (les mots de la citation apparaissent dans le même ordre) comment:"We have a problem"
( ) Regroupe les valeurs ou les critères de recherche status:open AND (priority:(p0|p1) OR severity:(s0|s1))

Veuillez noter les points suivants :

  • Vous devez utiliser des lettres majuscules pour AND, OR et NOT.

  • L'opérateur NOT a la même signification, qu'il précède le nom ou la valeur du champ. Cela signifie que -assignee:jim et assignee:-jim sont équivalents.

  • Utilisez généreusement les parenthèses pour regrouper clairement les termes dans les requêtes de recherche. Par défaut, Issue Tracker associe NOT au terme qui le suit uniquement et regroupe OR aux deux termes qui l'entourent. Par exemple, la requête de recherche title:(a OR b NOT c AND d) équivaut à title:((a OR b) AND (NOT c) AND d).

Tirets

Le tiret (-) a différentes significations selon le contexte de la requête de recherche:

  • Issue Tracker traite le tiret précédant un mot d'une recherche comme un opérateur NOT. Par exemple, les critères de recherche -assignee:none ou assignee:-none renvoient tous les problèmes auxquels un responsable est attribué.

  • Issue Tracker traite les chaînes connectées par un tiret comme étant entourées de guillemets. Par exemple, le critère de recherche state-of-the-art équivaut à "state of the art".

  • Issue Tracker traite les mots composés dans un champ de problème comme des mots indépendants, séparés par un espace. Cela signifie que si le titre d'un problème contient le mot state-of-the-art et que vous exécutez la requête de recherche title:(of art state the) ou title:("state of the art"), le problème est renvoyé dans les résultats de recherche.

Opérateurs relationnels

La syntaxe de base d'un critère de recherche de champ/valeur est [field]:[value], où le caractère deux-points (:) indique que le champ donné doit être égal ou contenir à la valeur spécifiée pour qu'un problème soit renvoyé dans les résultats de recherche.

Les champs contenant une valeur temporelle (created, modified, resolved, verified et certains champs personnalisés) ou un nombre (duplicatecount, votecount, commentcount et cccount) acceptent les opérateurs relationnels supplémentaires suivants:

Symbole Description
< Correspond à un problème si sa valeur est inférieure ou antérieure à votre valeur de recherche.
<= Correspond à un problème si sa valeur est inférieure, antérieure ou égale à votre valeur de recherche.
> Correspond à un problème si sa valeur est supérieure ou postérieure à votre valeur de recherche.
>= Correspond à un problème si sa valeur est supérieure/après ou égale à votre valeur de recherche.

Recherches basées sur l'heure

Le langage de requête de recherche fournit une syntaxe spéciale pour faire correspondre les champs contenant une valeur temporelle. Cela permet à Issue Tracker d'effectuer une recherche dans une période ou dans une période relative, selon les besoins.

Format de l'heure absolue

Le format utilisé pour indiquer l'heure est le suivant:

[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss].

Dans ce format, [yyyy] correspond à l'année à quatre chiffres, [MM] aux deux chiffres du mois, [dd] aux deux chiffres du jour, [HH] à l'heure à deux chiffres au format 24 heures, [mm] à la minute et [ss] à la seconde. Toutes les heures sont exprimées en temps UTC.

Vous pouvez fournir le niveau de précision que vous souhaitez lorsque vous recherchez des problèmes créés avant ou après un certain délai. Par exemple, vous pouvez spécifier created:2014-06 pour rechercher les problèmes créés à tout moment en juin 2014. Pour plus de précision, vous pouvez rechercher created:2014-06-03T04 afin de trouver les problèmes créés le 3 juin 2014 au cours de la quatrième heure (entre 4h et 5h, UTC).

Périodes

Vous pouvez utiliser deux points (..) pour spécifier une période dans les critères de recherche de champ/valeur. La syntaxe est [field]:[start time]..[end time]. Les heures de début et de fin peuvent avoir le degré de spécificité dont vous avez besoin. Par exemple, verified:2013..2015 renvoie tous les problèmes validés en 2013, 2014 ou 2015.

Format de l'heure relative

Vous pouvez également spécifier une heure en nombre de jours antérieurs à la date du jour. Pour ce faire, utilisez le format [days]d, où [days] correspond au nombre de jours déjà écoulés que vous souhaitez inclure dans les résultats de recherche. Par exemple, vous pouvez utiliser modified:5d pour rechercher les problèmes modifiés au cours des cinq derniers jours.

Lorsque vous utilisez un format de temps relatif, l'opérateur doit être le signe deux-points (:), par exemple created:5d. Si vous souhaitez identifier les problèmes qui ne relèvent pas de cette plage, vous pouvez utiliser l'opérateur NOT ou -.

Par exemple, -verified:10d renvoie des problèmes qui n'ont pas été validés au cours des 10 derniers jours. Si vous souhaitez rechercher les problèmes qui ont été validés, mais pas au cours des 10 derniers jours, vous pouvez utiliser (-verified:10d) AND status:verified.

Recherches avec l'arithmétique "Aujourd'hui"

Vous pouvez utiliser le jeton today dans les recherches temporelles pour remplacer la date actuelle. Il accepte l'utilisation de l'arithmétique des jours, comme today+10 et today-2. Le jeton today peut également être utilisé avec des périodes telles que today-2..today+3. L'utilisation du jeton today dans les recherches enregistrées permet de rendre la requête réutilisable.

Exemples :

  • created:today
  • modified<=today-10
  • nearestslo:today+10
  • resolved:2024-02-29..today+2
  • customfield1002:today..today+5

Attention: Comme indiqué dans le format d'heure absolue, les recherches d'heure dans Issue Tracker sont exprimées en UTC. Il en va de même pour les recherches qui utilisent today.