Le problème avec l’acronyme JQL est qu’il laisse penser à un langage de développement, donc quelque chose de très technique qui nécessite diplômes et compétences. Le JQL est en réalité un langage assez simple à appréhender qui permet d’effectuer des requêtes ou recherches pour afficher très précisément les entrées désirées. Là où d’autres produits proposent de nombreux filtres pour essayer d’obtenir ce qu’on souhaite, Jira préfère proposer le JQL pour afficher facilement ce qu’on cherche très précisément. Les interfaces de recherche restent épurées, et il n’y a pas de limite de filtrage de la recherche. C’est une particularité importante de Jira.
Le JQL, comment ça marche?
Le JQL permet d’effectuer des recherches avancées de tâches Jira grâce à des éléments de langage simples. Prenons une recherche simple :
La requête demande d’afficher les tâches en cours dans tel projet, classées par ordre décroissant de date de création. Pour cela, il s’agit de respecter les éléments de langage pour les champs (ici : « Project », « Status »), pour les opérateurs (ici « = »), la liaison entre deux Clauses (ici AND), et l’ordre d’affichage (« order by »).
D’abord, une Clause est composée de la sorte : Un champ, un opérateur, et une valeur. Les clauses peuvent être ajoutées et liées par des mots clés (AND, OR, ORDER BY, … )
Aussi, la valeur n’était pas toujours connue, le JQL propose des fonctions qui permettent de « calculer » cette valeur. Par exemple pour enregistrer une requête JQL dont les résultats seront fonction de l’utilisateur connecté, la valeur sera la fonction « currentuser() ». Il existe un certain nombre de fonctions utilisables sur certains champs. Les fonctions JQL sont listées ici.
C’est tout! Bien sûr, il est nécessaire de connaitre les éléments de langage et mots clés du JQL pour s’en servir.
Champs
Les champs sont les champs système natifs qui composent les tâches (projet, date, responsable de tâche, status, … ), mais aussi les champs customs définis par l’administrateur Jira.
Les champs système à utiliser dans JQL sont ici.
Opérateurs
Les opérateurs sont le lien entre le champ et la valeur
- « = » : valeur exacte
- « in » : valeur incluse dans la liste de valeurs qui suit
- ‘!= » : différent de
- …
Les opérateurs sont listés ici.
Mots clés
Il existe plusieurs façons de lier plusieurs Clauses de requête (plusieurs filtres).
Voici la liste des mots clés proposés par JQL
Et s’il n’était pas nécessaire d’apprendre le JQL?
Pour un langage informatique, le JQL est très simple. Pourtant, il existe un certain nombre d’éléments à connaitre, ou à avoir quelque part pour s’en souvenir. Et il exige une certaine expérience pour bien exploiter les capacités des fonctions, des mots clés et opérateurs. En effet,enregistrer des requêtes avancées dotées de fonctions peut être très utile, c’est une des grandes forces de l’outil. Mais en tant que tel, le JQL sera toujours trop complexe et décourageant pour bon nombre d’utilisateurs.
Bonne nouvelle ! Atlassian met à disposition de tous les produits Cloud l’intelligence artificielle activable par l’administrateur. Les usages sont nombreux, et l’un d’entre eux est de comprendre le langage naturel pour le convertir en requête JQL.
Le pouvoir de JQL est alors débridé, son usage est nettement simplifié et la puissance de la plateforme Jira est mieux exploitée.