Introduction aux Remote Apps


Publié par
Clément CAPIAUX

28 mars 2012

Parlons aujourd’hui Remote plugins ou encore Remote Apps !

Aujourd’hui, un plugin JIRA est un fichier JAR que l’on installe en tant que partie intégrante de JIRA. Néanmoins, le comportement qu’il produit dans l’outil Atlassian lui appartient. Il est donc très difficile de prévoir par exemple l’impact qu’il peut avoir au niveau des performances de JIRA.

De fait, il est difficile d’envisager par exemple une intégration de plugins « classiques » dans une offre Atlassian de type OnDemand.

C’est pour cela qu’Atlassian réfléchit et commence à conceptualiser la notion de Remote App. Une sorte de plugin distant qui dispose de son propre environnement d’exécution. Un plugin qui n’est pas nécessairement écrit en Java, ni enregistré dans JIRA ou Confluence mais qui « écoute » des événements provenant de ces produits.

Use case d’exemple : Remote Apps de notification

Un exemple d’utilisation a été exposé par Rich MANALANG d’Atlassian lors du dernier Atlascamp. L’objectif est d’ajouter automatiquement une notification dans un fil de discussion HipChat, à chaque fois qu’un blog post est créé dans une instance Confluence :

=> une application codée en Sinatra (équivalent à Ruby), représente la Remote App. Elle est enregistrée en tant que tel auprès d’une instance Confluence. Via la notion de web-hook, cette application écoute les événements de type blog_created, c’est à dire que Confluence notifiera la Remote App, à chaque fois qu’un blog post Confluence sera créé.

=> de fait, la Remote App traite la requête HTTP de notification lancée par Confluence et contacte via API REST une salle de discussion HipChat. Elle insère ensuite dans le fil de discussion une notification sur la création d’un nouveau blog post dans l’instance Confluence.

Conclusions et prévisions

La notion de Remote Apps est encore aujourd’hui au stade de l’étude et de l’essai. C’est pourquoi Atlassian requiert notre aide et nos retours en tant que développeurs afin de valider son efficacité.
Pourtant, Atlassian l’annonce comme l’avenir des plugins pour les outils Atlassian… Wait and see !