Une FAQ dynamique dans JIRA, c’est possible avec nFeed


Publié par
Nathan CHANTRENNE

3 septembre 2014

Bien souvent, les outils de travail proposés dans nos entreprises sont nombreux, ce qui démultiplie le nombre de sources d’informations. Ainsi, rechercher les informations clés peut s’avérer long et fastidieux.

Rien ne vous empêche de continuer à travailler de cette manière – vos questions finiront par trouver des réponses et vous pourrez avancer dans votre travail, mais si vous aimez quand les choses sont simples et efficaces, j’ai une solution pour vous.

Avec nFeed, vous allez pouvoir afficher dynamiquement dans JIRA les informations venant d’un autre système. Vous simplifiez ainsi l’accès pour vos utilisateurs finaux à l’information dont ils ont besoin pour travailler efficacement.

Lier JIRA à une base de données externe ?

Comme je le disais plus haut, nous pouvons perdre beaucoup de temps à jongler entre nos différents systèmes.

Imaginez par exemple un contexte Ressources Humaines : les utilisateurs, via des tickets JIRA, peuvent saisir des demandes de type « Voyage », « Note de frais », « Formation »… Or, leurs questions sont souvent redondantes. L’équipe RH décide donc de mettre en place des FAQ dans Confluence.

Vous voyez où je veux en venir ?

Pour accéder à cette FAQ il faudra jongler entre les deux outils JIRA et Confluence. Puis, dans Confluence, l’utilisateur devra retrouver l’information pertinente pour son contexte (Ex : RH /FAQ Formation).

ticket page

Si l’utilisateur a une question, vous n’avez qu’à espérer qu’il aille chercher de lui-même sa réponse dans la bonne page Confluence :-(. Pas très pratique !

Une autre solution s’offre à vous : l’add-on nFeed.

Depuis un ticket JIRA, vous pouvez faire apparaître dynamiquement le lien d’une page Confluence par rapport à la valeur d’un champ du ticket. Dans notre cas le champ est le type, c’est-à-dire « Voyage », « Formation », « Note de frais »…

L’avantage est que l’utilisateur peut accéder directement à une page Confluence ciblée détenant les informations clés de son contexte.

Comment faire ?

Pré-requis : Les pages FAQ sont créées dans Confluence. Chaque page a une étiquette de type « Voyage » ou « Formation » ou « Note de frais »…

1 – Déclarer sa base externe

Déclarer sa base externe dans le fichier server.xml qui se trouve dans le répertoire conf de Tomcat hébergeant votre JIRA.

Dans notre cas la base à déclarer est la base Confluence.

<Resource name= »jdbc/ConfluenceDS » auth= »Container » type= »javax.sql.DataSource »

username= »toto »

password= »toto »

driverClassName= »org.postgresql.Driver »

url= »jdbc:postgresql://localhost:5432/nfeed Confluence »

maxActive= »20″

maxIdle= »10″

validationQuery= »select 1″ />

Après cette étape, il faut redémarrer JIRA.

Ensuite, il faut ajouter cette base externe dans votre configuration nFeed.

Pour cela, allez sur l’onglet « Datasources connectors » puis cliquez sur « Add Datasource Connector ».

Conf Datasource

 

2 – Créer un champ personnalisé

Depuis la console d’administration JIRA, créez le champ personnalisé « Confluence Page » de type nFeed qui affichera le lien de la page Confluence.

Custom field

 

3 – Configurer le champ dans nFeed

Dans la configuration nFeed, allez dans l’onglet « Configuration » puis cliquez sur le bouton « Create a configuration ». Vous aurez accès aux champs nFeed non configurés.

liste Nfeed field

L’écran de configuration du champ s’affiche.

Sélectionnez le Datasource Confluence dans le 1er onglet.

Conf field

Dans le 2ème onglet, choisissez le type de rendu de votre champ, dans notre cas « Read Only ».

Saisissez la requête dans le champ « Query ». Je rappelle dans notre cas que nous souhaitons afficher le lien de la page Confluence ayant une étiquette égale à la valeur du champ type.

 

Voici la requête utilisée :

SELECT CONT.title, CONT.contentid FROM content CONT

LEFT OUTER JOIN content_label CONTLAB ON CONT.contentid = CONTLAB.contentid

LEFT OUTER JOIN label LAB ON CONTLAB.labelid = LAB.labelid

WHERE LAB.name = lower(‘$issue.customfield_10000’);

 

Pour que le résultat soit un lien hypertexte et lui définir un format, allez dans « Configure ».

Voici le template que l’on a défini :

<a href= »http://localhost:8098/pages/viewpage.action?pageId={1}« >FAQ {0}</a>

conf field 2

 

4 – Afficher votre champ

Comme tout champ, il faut le faire apparaitre dans un écran.

Une fois cette opération effectuée, vous avez le lien de la page Confluence qui s’affiche dynamiquement dans votre ticket !! :-)

 

En création :

Create

En vue :

View

 

En cliquant sur le lien vous arriverez directement sur la FAQ :

page

 

JIRA et Confluence parfaitement intégrés

Maintenant, vous savez que l’intégration de JIRA et Confluence, grâce à un outil aussi puissant que nFeed, vous permettra de proposer à vos utilisateurs l’accès à la base de connaissance de manière contextualisée et instantanée.

Cela correspond à l’un de vos besoin ?

  • Merci pour ce bon exemple.
    Toutefois, le where de la requête utilise un champ personnalisé dont vous ne faîtes pas mention dans l’article : (‘$issue.customfield_10000′) et qui semble contenir le nom de l’étiquette à rechercher dans confluence.
    Est-ce qu’nFeed ne pourrait pas utiliser le nom du type de la demande ?