jira query language jira query language
  • Article
  • 24.Juil.2023

JQL : guide complet pour la recherche avancée dans Jira

  • 24.Juil.2023
  • Temps de lecture mins

Si vous êtes un utilisateur ou un administrateur de Jira, vous avez probablement déjà exploré la fonction de recherche pour trouver des demandes spécifiques ou des listes de demandes. Si certaines recherches sont simples, d’autres peuvent être complexes et nécessitent une connaissance du langage Jira Query Language (JQL).

Introduction à la recherche JQL

Le JQL est un puissant outil pour créer des requêtes de recherche avancées dans Jira. Un aspect intéressant des recherches JQL est que vous pouvez les enregistrer sous forme de filtres et vous y abonner, ou vous en servir pour configurer des tableaux de bord Agile, entre autres.

Avant de plonger dans nos astuces JQL, explorons les différentes façons d’effectuer une recherche de demandes dans Jira.

Fonctionnalités de recherche de Jira : libérer la puissance du JQL

Recherche rapide

La recherche rapide est la fonction de recherche la plus simple, accessible depuis l’en-tête de l’application. Elle offre trois méthodes d’utilisation :

  1. Recherche de texte libre : Lorsque vous saisissez un mot qui n’est pas un mot-clé Jira, Jira effectuera une recherche dans les champs Résumé, Description et Commentaires des tickets, vous redirigeant vers le Navigateur de demandes avec les problèmes correspondants.
  2. Recherche direct de ticket : La saisie de la clé du problème (par exemple, TP-146) vous redirige vers ce ticket spécifique, à condition que vous ayez l’autorisation de le consulter.
  3. Recherche JQL intelligente : Cette recherche vous permet de trouver des demandes spécifiques à l’aide de requêtes courtes, optimisant ainsi votre temps de recherche. Certaines requêtes intelligentes populaires incluent “my” (renvoie les demandes assignées à l’utilisateur actuel) et “r:me” (renvoie les demandes signalées par l’utilisateur actuel).

Recherche JQL de base

La recherche JQL de base est recommandée si vous débutez avec le langage de requête Jira et que vous souhaitez une manière simple de filtrer les demandes. Accédez-y depuis le Navigateur de demandes en choisissant “Demandes” > “Chercher des demandes” dans le menu principal. La barre de recherche de base inclut des menus déroulants pour affiner votre recherche et permet d’ajouter davantage de champs en utilisant le menu “Plus”.

Recherche JQL avancée

La recherche avancée offre une fonctionnalité d’auto-complétion qui vous permet de créer des requêtes à l’aide de JQL. Toute recherche de base peut être traduite en une requête JQL en basculant en mode Avancé depuis le mode Basique. Les raisons d’utiliser le mode de recherche avancée incluent l’utilisation de l’opérateur logique OR, la gestion de champs non pris en charge ou l’utilisation de fonctions JQL.

Requêtes JQL couramment utilisées dans Jira

Demandes liées

Toutes les demandes liés

Pour obtenir la liste des demandes liées à un problème spécifique, utilisez la fonction JQL intégrée “linkedIssues(issueKey).”

Exemple : issue in linkedIssues("TP-345")

Demandes liées par type de lien

Si vous souhaitez obtenir les demandes liées à un ticket spécifique avec un type de lien particulier, utilisez la fonction “linkedIssues(issueKey, linkType).”

Exemple : issue in linkedIssues("TP-345", "blocks")

Pour trouver le type de lien, rendez-vous dans Administration > Demandes > Création de liens entre les demandes et utilisez la colonne “Nom”.

Demandes avec des liens

Pour filtrer toutes les demandes qui ont N’IMPORTE QUEL demande liée, utilisez la fonction “hasLinks(linkType).”

Exemple : issueFunction in hasLinks()

Demandes liées à des demandes filtrées

Si vous souhaitez obtenir la liste des demandes liées à un ensemble spécifique de demandes (filtre ou demandes), utilisez la fonction “linkedIssuesOf(Subquery).”

Exemple : issueFunction in linkedIssuesOf("project=IDP")

Hiérarchie des demandes avec le JQL

Requêtes sur les sous-tâches

Pour obtenir la liste des sous-tâches dans Jira, utilisez l’objet “Parent” et spécifiez la ou les clés des demandes parentes.

Exemple : parent = "IDP-4689"

Pour les sous-tâches d’un sous-ensemble de demandes, utilisez la fonction “issueFunction in subtasksOf(Subquery).”

Exemple : issueFunction in subtasksOf("project=IDP and issuetype=Incident")

Requêtes sur les demandes parentes

Pour obtenir les demandes parentes d’un sous-ensemble de sous-tâches, utilisez la fonction “issueFunction in parentsOf(Subquery).”

Exemple : issueFunction in parentsOf("project=IDP and issuetype=Incident")

Requêtes sur les epics ou les stories

Pour obtenir les stories associées à une epic, utilisez le champ personnalisé “Epic Link.”

Exemple : "Epic Link" in (SCUR-24, SCUR-25)

Pour obtenir les epics pour un sous-ensemble de demandes (stories), utilisez la fonction “issueFunction in epicsOf(Subquery).”

Exemple : issueFunction in epicsOf("project=IDP AND issuetype=Incident")

Pour obtenir les trois niveaux de hiérarchie dans JQL, utilisez l’application ScriptRunner avec la fonction “issueFunction in linkedIssuesOf(Subquery, linkType).”

Exemple : (project = IDP AND issuetype = Epic) OR issueFunction in linkedIssuesOf("project = IDP AND issuetype = Epic", "is epic of") OR issueFunction in subtasksOf("issueFunction in linkedIssuesOf('project = IDP AND issuetype = Epic', 'is epic of')")

Contexte de l’utilisateur actuel et requêtes d’appartenance à l’utilisateur

Le contexte de “l’utilisateur courant” peut être utilisé avec des champs spécifiques/personnalisés tels que Reporter, Assignee, Watcher, Voter et tout champ personnalisé de sélection d’utilisateur.

Exemple : assignee = currentUser()

Pour obtenir la liste des demandes dans lesquelles un utilisateur fait partie d’un groupe spécifique dans Jira, utilisez la fonction “membersOf(GroupName).”

Exemple : assignee in membersOf("jira-administrators")

Amélioration du JQL avec Portfolio for Jira et ScriptRunner

Les requêtes JQL basées sur le contexte Portfolio for Jira peuvent être effectuées à l’aide du champ personnalisé “Parent Link” et des fonctions JQL fournies par Portfolio for Jira et ScriptRunner.

Exemple : "Lien parent" in ("project=IDP")

Pour utiliser des fonctions JQL avancées, telles que “portfolioChildrenOf(Subquery)” et “portfolioParentsOf(Subquery),” assurez-vous d’avoir installé Portfolio for Jira en plus de ScriptRunner version 5.0.11 et ultérieures.

Conclusion

Le JQL est un outil polyvalent qui permet des recherches puissantes dans Jira. Si les fonctionnalités prêtes à l’emploi offrent de nombreuses possibilités, les applications telles que ScriptRunner fournissent des fonctionnalités supplémentaires pour des requêtes plus ciblées. En combinant les bonnes fonctions et en comprenant la syntaxe JQL, vous pouvez gérer efficacement et naviguer dans votre instance Jira pour en tirer le meilleur parti.

Pour plus de conseils et d’aide concernant les outils Atlassian, n’hésitez pas à contacter notre équipe.

Ressources complémentaires

Voir toutes les ressources