Langage de requête DevOps#

Utilisez le langage de requête DevOps pour filtrer les informations affichées dans votre chaîne de valeur.

A propos du langage de requête DevOps#

Le langage de requête DevOps est un outil de recherche conçu pour filtrer les chaînes de valeur. Vous générez des requêtes simples en associant des éléments consultables à des opérateurs et à des valeurs. Un élément consultable est un objet pouvant être interrogé, comme issue.status. Il est possible d'interroger presque toutes les zones de la base de données HCL™ Accelerate et vous pouvez effectuer une recherche parmi les objets imbriqués, comme issue.project.name.

Portée de la requête#

La portée des requêtes peut être limitée à la chaîne de valeur dans son ensemble ou à une étape. Vous pouvez créer des requêtes dans la vue Chaîne de valeur, ou les définir dans le fichier value_stream_name.json joint à une chaîne de valeur. Chaque étape peut avoir une requête définie.

Vous définissez la portée d'une requête au niveau de la chaîne de valeur en définissant une requête dans l'en-tête du fichier value_stream_name.json dans la vue Chaîne de valeur. Vous devrez procéder de la sorte si vous disposez d'une instance Jira®, par exemple, et si vous souhaitez limiter les problèmes affichés à ceux qui appartiennent à votre équipe. Par exemple, issue.project.name="my_jira_project".

Si vous définissez la portée sur le niveau de la chaîne de valeur, d'autres requêtes fonctionnent au sein de cette portée. Après avoir défini la portée sur le niveau de la chaîne de valeur, vous ne pouvez pas l'écraser en définissant une nouvelle requête au niveau de la chaîne de valeur dans la vue Chaîne de valeur. Pour modifier une requête dont la portée a été définie sur la chaîne de valeur, remplacez-la dans le fichier value_stream_name.json.

Requêtes simples#

Filtrez vos chaînes de valeur à l'aide de requêtes qui limitent les informations affichées à ce que vous souhaitez consulter. Vous générez des requêtes simples à l'aide du langage de requête DevOps en associant des éléments interrogeables à des opérateurs et à des valeurs. Un élément consultable est un objet pouvant être interrogé, comme issue.status. Le format de la requête se compose d'un élément, d'un point, d'un paramètre pouvant être interrogé, d'un opérateur et d'une valeur d'un type valide :

[item].[field] [operator] [value type]

La liste suivante affiche certaines requêtes habituelles :

issue.status = “In Progress”
issue.owner = “John Doe”
pr.number > 5
issue.status != Done
build.endTime < 1d
issue.created > 10d
issues.sprints.name = "sprint 1"

Les types de valeur ne sont pas sensibles à la casse. Les types de valeur textuelle peuvent être encadrés par des apostrophes ou des guillemets.

Une liste d'objets ou d'éléments pouvant être recherchés est fournie plus loin dans cette rubrique.

Combinaison de requêtes#

Vous pouvez combiner des requêtes simples à l'aide des opérateurs logiques "et" et "ou". Les requêtes combinées sont résolues de la gauche vers la droite.

La requête suivante affiche des problèmes rencontrés par Jean et Anne Dupont, dont le statut est "En cours".

issue.owner = “John Doe” or issue.owner = “Jane Doe” and issue.status=“In Progress”

La requête suivante affiche des éléments dont le statut est "Ouvert" et qui sont antérieurs à un jour.

pr.status = Open and pr.created > 1d

Requêtes prioritaires#

Vous pouvez passer outre l'ordre de préséance en utilisant des parenthèses.

Contrairement à l'exemple précédent, cet exemple affiche tous les problèmes de Jean Dupont et uniquement les problèmes d'Anne Dupont dont le statut est "Terminé".

issue.owner = “John Doe” or (issue.owner = “Jane Doe” and issue.status=Done)

Cet exemple montre les problèmes ouverts de Jean Dupont dont le statut est "En cours".

(issue.status = “In Progress” or pr.status = open) and issue.owner = “John Doe”

Eléments du langage de requête DevOps#

Utilisez les éléments de la table pour effectuer une recherche dans leurs champs consultables. Les champs de type durée s'affichent avec la police italicized.

Le tableau ci-dessous répertorie toutes les requêtes DevOps que vous pouvez utiliser dans des étapes du fichier value_stream_name.json. A l'aide de la requête, vous pouvez afficher les données d'une application intégrée dans la chaîne de valeur.

Elément Champs consultables
problème status, labels
issue.comments count
issue.labels count
issue.project id, key, name. Par exemple, issue.project.name="my_project". Remarque : un projet est un groupe de problèmes qui incluent Jira : articles, bogues, tâches et historiques d'un produit, d'un service ou d'une activité.
issue.sprints active, count
pr labels, repositoryId, repositoryName, repositoryOwner, source, status
pr.assignees count
pr.comments count
pr.labels count
pr.reviewers count
pr.reviews count
validation repositoryId, repositoryName, repositoryOwner, source
build status, type
déploiement env, environmentId, source, status

Le tableau ci-dessous répertorie toutes les requêtes DevOps que vous pouvez utiliser pour effectuer des recherches dans la vue Chaîne de valeur. A l'aide de la requête, vous pouvez effectuer une recherche dans la barre de recherche pour filtrer les particules requises dans la vue Chaîne de valeur.

Elément Champs consultables
problème id, name, sprints, storyPoints, source, status, owner, priority, type, created, lastUpdate, labels
issue.comments count, comment, created, updated
issue.labels count
issue.project id, key, name. Par exemple, issue.project.name="my_project". Remarque : un projet est un groupe de problèmes qui incluent Jira : articles, bogues, tâches et historiques d'un produit, d'un service ou d'une activité.
issue.rawIssue Le champ rawIssue contient des données non normalisées provenant de l'outil externe, comme Jira. Par exemple, issue.rawIssue.fields.custom_field.
issue.releases id, name, description, archived, released, releaseDate. issue.releases.name="Version 1.1", issue.releases.releaseDate > 5w et issue.releases.released = false sont des exemples classiques. Remarque : Une édition représente un déploiement dans un environnement.
issue.sprints active, count, id, name, previous, description, startTime, endTime, completionTime, url
pr id, labels, name, source, status, branch, baseBranch,commitId, merged, assignees, reviewers, created, lastUpdate, creator, number, repositoryId, repositoryName, repositoryOwner,
pr.assignees count
pr.comments count, comment, created, updated
pr.labels count
pr.reviewers count
pr.reviews count
validation repositoryId, repositoryName, repositoryOwner, source
build id, name, source, status, endTime, requestor, startTime, number, type
déploiement id, name, source, status, endTime, requestor, startTime, number, env

Les tables d'opérateurs de requête affichent les opérateurs de recherche.

Opérateur Définition
= être égal à
> supérieur à
< inférieur à
>= supérieur ou égal à
<= inférieur ou égal à
!= non égal à
"" requis pour une correspondance de phrase exacte avec des espaces
( ) ordre de regroupement d'opérations
AND ou and conjonction pour la recherche des deux valeurs
OR ou or disjonction pour la recherche d'une valeur ou d'une autre

La table des types de valeur décrit les types de valeur valides.

Type de valeur Définition
valeur Prend en charge tous les caractères, sauf les caractères blancs ou les caractères réservés suivants : . = ! < > " ( ).
valeur entre guillemets Les caractères se trouvent entre guillemets. Ce type prend en charge tous les caractères, y compris ceux non pris en charge par la valeur. Par exemple :

“This is a quoted value”, “(This = valid input!)”

| |heure|Sert à comparer les champs d'heure. Un nombre suivi d'une mesure temporelle (h = hours, d = days, w = weeks, y = years, est une entrée valide. Par exemple : 1w (one week), 10d (ten days), 3y (three years).|

Sujet parent : Gestion de la chaîne de valeur