Le langage de requête de recherche est la syntaxe que vous utilisez pour effectuer des recherches de problèmes dans Google Issue Tracker. Vous pouvez utiliser la langue des requêtes de recherche que vous saisissez dans la barre de recherche. Vous pouvez également utiliser le Générateur de recherches pour sélectionner graphiquement les critères, qui sont ensuite convertis dans le langage de requête lorsque le Générateur de recherches est fermé.
Le langage de requête vous permet de rechercher des éléments 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 associées à des mots clés
Les mots clés sont des chaînes de texte que vous pouvez utiliser pour rechercher dans certains champs des problèmes. Ces champs sont les suivants:
- Titre
- Commentaires
- Noms des pièces jointes
- Champs contenant des utilisateurs (par exemple, Assignee ou CC)
- Champs contenant un numéro d'ID interne (par exemple, ceux qui spécifient le composant ou les listes de problèmes)
- Champs contenant des numéros de version
- Champs personnalisés
La chaîne configuration properties
est un exemple de critères de recherche par mots clés.
Lorsque vous saisissez ces critères dans une recherche, Issue Tracker recherche les problèmes dans l'ensemble des composants et renvoie ceux dont les champs contiennent les deux mots clés, conformément à vos autorisations de contrôle des accès. Les mots clés peuvent se trouver dans des champs différents ou dans les mêmes champs.
Les mots clés correspondent également à certains synonymes de base. Par conséquent, une recherche de property
peut également trouver un bug contenant le mot properties
. Sinon, les recherches ne correspondront qu'aux jetons de mots complets, au lieu de traiter la requête comme une sous-chaîne.
La plupart des caractères spéciaux sont supprimés des mots clés avant l'exécution de la recherche.
Par exemple, une requête comme my-query_text
serait divisée en deux : my
et query_text
. Elle renverrait alors les bugs correspondant aux deux jetons.
Issue Tracker considère l'espace séparant les critères de recherche comme un opérateur AND
implicite. Vous pouvez utiliser des guillemets ("
) pour spécifier qu'une chaîne composée de plusieurs mots doit être considérée comme un seul mot clé. Toutes les recherches dans Issue Tracker sont insensibles à la casse, que vous utilisiez des guillemets ou non.
Recherches par paire 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 où le champ spécifié contient la valeur. Pour les autres types de champs, il correspond aux problèmes où la valeur du champ est équivalente.
Par exemple, une recherche de title:latency
correspond aux problèmes liés au mot latency
dans le champ Titre. Une recherche de priority:p0
permet de trouver des problèmes avec une priorité de p0
.
Tout champ non reconnu sera interprété comme une recherche par mot clé.
Notez que pour les champs de temps et de nombre, vous pouvez utiliser d'autres symboles relationnels que le caractère deux-points. Consultez la section Opérateurs relationnels.
Recherches de valeurs spéciales à l'aide de "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. Les caractères d'espace en dehors des guillemets jouent le rôle d'opérateurs AND
implicites. Issue Tracker accepte les opérateurs logiques explicites supplémentaires suivants:
Opérateur | Symbole alternatif | Description | Exemple |
---|---|---|---|
ET | {whitespace} | Correspondance si le problème contient les deux critères | star:true AND componentid:46046
|
OU | | | Correspond si le problème contient l'un 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 mise entre guillemets (les mots entre guillemets apparaissent dans le même ordre). | comment:"We have a problem"
|
|
( ) | Regroupe des valeurs ou des critères de recherche | status:open AND
(priority:(p0|p1) OR
severity:(s0|s1))
|
Veuillez noter les points suivants :
Vous devez utiliser des majuscules pour
AND
,OR
etNOT
.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
etassignee:-jim
sont équivalents.Utilisez des parenthèses pour regrouper clairement les termes dans la requête de recherche. Par défaut, Issue Tracker n'associe
NOT
qu'au terme qui le suit immédiatement et regroupeOR
avec les deux termes qui le séparent. Par exemple, la requête de recherchetitle:(a OR b NOT c AND d)
est équivalente àtitle:((a OR b) AND (NOT c) AND d)
.
Tirets
Le caractère tiret (-
) a différentes significations en fonction du contexte dans une requête de recherche:
Issue Tracker considère le tiret précédant un mot dans une recherche comme un opérateur
NOT
. Par exemple, les critères de recherche-assignee:none
ouassignee:-none
renvoient tous les problèmes ayant un intervenant.Issue Tracker considère les chaînes reliées par un caractère de tiret comme étant placées entre guillemets. Par exemple, les critères de recherche
state-of-the-art
correspondent à"state of the art"
.Issue Tracker traite les mots en tiret dans un champ d'incident comme des mots indépendants séparés par des espaces. 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 recherchetitle:(of art state the)
outitle:("state of the art")
, le problème s'affiche dans les résultats de recherche.
Opérateurs relationnels
La syntaxe de base pour les critères de recherche field:value est [field]:[value]
, où le caractère deux-points (:
) spécifie que le champ donné doit être égal à la valeur spécifiée ou la contenir 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 une valeur de 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, postérieure ou égale à votre valeur de recherche. |
Recherches temporelles
Le langage de requête de recherche fournit une syntaxe spéciale pour les champs correspondants contenant une valeur temporelle. Cela permet à Issue Tracker de rechercher sur une plage de dates ou des dates relatives, selon les besoins.
Format d'heure absolu
Le format pour spécifier une heure est le suivant:
[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss]
.
Dans ce format, [yyyy]
correspond à l'année à quatre chiffres, [MM]
au mois à deux chiffres, [dd]
au jour à deux chiffres, [HH]
à l'heure à deux chiffres d'un horloge 24 heures, [mm]
à la minute et [ss]
à la seconde. Toutes les heures des recherches sont interprétées comme UTC, même si vous avez sélectionné un fuseau horaire différent dans vos paramètres de date et d'heure.
Vous pouvez indiquer le niveau de précision lorsque vous recherchez des problèmes créés à un moment donné, avant ou après. 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
pour trouver les problèmes créés le 3 juin 2014 à la 4e heure (entre 4h et 5h, UTC).
Périodes
Vous pouvez utiliser deux caractères de période (..
) pour spécifier une période dans les critères de recherche field:value. La syntaxe est [field]:[start time]..[end time]
. Les heures de début et de fin peuvent être aussi précises que vous le souhaitez. Par exemple, verified:2013..2015
renvoie tous les problèmes validés en 2013, 2014 ou 2015.
Format de temps relatif
Vous pouvez également spécifier une heure en termes de jours avant aujourd'hui. Pour ce faire, utilisez le format [days]d
, où [days]
correspond au nombre de jours passé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 (:
), comme created:5d
. Si vous souhaitez rechercher des problèmes qui ne se trouvent pas dans la plage, vous pouvez utiliser l'opérateur NOT
ou -
.
Par exemple, -verified:10d
renvoie les problèmes qui n'ont pas été vérifiés au cours des 10 derniers jours. Si vous souhaitez rechercher des problèmes qui ont été validés, mais pas au cours des 10 derniers jours, vous pouvez utiliser (-verified:10d) AND status:verified
.
Recherches "Aujourd'hui" avec l'arithmétique des jours
Vous pouvez utiliser le jeton today
dans les recherches temporelles à la place de la date actuelle. Il permet d'utiliser l'arithmétique des jours, comme today+10
et today-2
. Le jeton today
peut également être utilisé avec des plages de temps 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
Mise en garde: Comme indiqué dans la section Format d'heure absolue, les recherches temporelles dans Issue Tracker sont effectuées en UTC. Il en va de même pour les recherches qui utilisent today
.