nFeed 5.5 : requêtes en JQL


Publié par
Nicolas SIMON

11 février 2016

La nouvelle version 5.5 de nFeed intègre la possiblité de contruire des requêtes en utilisant le langage de recherche natif de JIRA, le JQL. Désormais, il est beaucoup plus simple de récupérer une liste de demandes, surtout pour les utilisateurs qui ne sont pas à l’aise avec le langage SQL et qui n’ont pas une vision claire de la structure de la base de données JIRA. Prenons un exemple simple pour mieux comprendre.

Avant, avec le SQL

Imaginons que notre besoin soit de contruire un champ de type « liste de sélection » qui récupère la liste des clés des demandes dont la priorité est remplie à la valeur Major. Dans la base de données JIRA, la clé d’une demande ne peut pas être consultée simplement, il est nécessaire de la construire en utilisant la table jiraissue et project. Par ailleurs, la table jiraissue ne contient que l’ID de la valeur de la priorité, et non son nom. Le nom de la priorité est en fait contenu dans la table priority. Toutes ces informations permettent de construire la requête SQL suivante:

SELECT CONCAT(project.pkey, '-', jiraissue.issuenum)
FROM jiraissue, project, priority
WHERE project.id = jiraissue.project
AND priority.id = jiraissue.priority
AND priority.pname = 'Major'

Il s’agit là d’une requête particulièrement complexe au vue de la simplicité du besoin initial. Comme il est possible de le constater, il est nécessaire pour l’utilisateur de connaître en détail la structure de la base de données JIRA (tables et attributs) afin de construire une requête qui fonctionne. La configuration complète du champ nFeed ressemblera alors à :

conf

Notez que le champ Template contient la valeur {0} ce qui permet de récupérer le premier attribut du résultat de la requête.

Maintenant, avec le JQL

Le scénario précédent peut être configuré de manière beaucoup plus simple avec la nouvelle fonctionnalité de recherche JQL. Dans la fenêtre d’administration du champ nFeed, à droite de la source de donnée, vous remarquerez un interrupteur qui permet de passer du mode SQL au JQL :

switch

Aussi simple que cela puisse paraître, l’utilisateur n’a qu’à sélectionner le mode JQL pour configurer les requêtes JQL sur la base de données JIRA. Le cas d’utilisation précédent n’a besoin que de la requête suivante pour récupérer la liste de demandes voulues :

priority = Major

Il n’y rien de plus à ajouter à propos de cette simple requête. La configuration complète du champ nFeed va alors ressembler à :

jql

Notez au passage la différence entre le mode SQL et JQL en ce qui concerne la configuration du champ Template. L’outil de recherche JQL utilise une façon très pratique de sélectionner l’attribut à afficher, tout simplement en indiquant son nom entre crochets. La liste des attributs accessibles est disponible grâce au lien placé juste en dessous.

Essayez-le maintenant !

Cet article décrit seulement un procédé parmi d’autres pour configurer d’une manière simple une requête JQL dans la configuration d’un champ nFeed. Comme avec le SQL, le mode JQL permet aussi d’utiliser des variables Velocity afin de configurer des champs plus dynamiques. Il ne vous reste plus qu’à l’essayer !