Qu’est ce que Forge ?
Forge est une nouvelle plateforme de développement, lancée par Atlassian en 2020, pour construire des applications dans le cloud Atlassian.
A ce jour, il est seulement possible de créer des applications cloud pour Jira et Confluence. C’est une boîte à outils de développement très simple d’accès, beaucoup plus accessible que la solution précédente basée sur le framework Atlassian Connect qui existe depuis 2012.
Un point qui s’avère très positif est qu’il n’est plus obligatoire de rendre publique son application sur la marketplace Atlassian pour l’utiliser, c’est néanmoins une possibilité qui est offerte si l’on souhaite commercialiser son application.
Forge arrive à une période où Atlassian souhaite migrer un maximum de clients vers son offre cloud, mais l’univers des applications compatibles pouvaient être un frein.
Comment fonctionne Forge ?
C’est un ensemble de FAAS (Functions-As-A-Service) en mode serverless qui facilite le travail des développeurs qui n’ont pas besoin de se soucier des problèmes habituels d’authentification, de mise à l’échelle, etc. De plus, Forge met à disposition dans sa boîte à outils, une palette de composants pour faciliter la création d’interface utilisateur, le tout en conservant le thème Jira et en gérant toute la partie UI.
Le développement s’appuie sur une CLI fourni par Forge afin d’automatiser et de simplifier l’ensemble des tests et du déploiement. Le codage s’appuie sur Javascript en utilisant les librairies fournies par Atlassian. On retrouve par exemple une version épurée de fetch.
Les prérequis pour créer une application Forge est d’installer le framework ainsi que :
- docker
- node.js
C’est un développement cross-platform. Il peut se réaliser sous Windows 10, Linux ou MacOS.
Il est possible de créer sa première application en quelques minutes, ce qui est très encourageant. Atlassian met à disposition 3 environnements (dev, staging et production) afin de pouvoir tester au mieux son application avant de la déployer sur un Jira de production. Il est toujours possible de revenir en arrière en quelques secondes grâce à l’environnement cloud Jira. La CLI proposée par Atlassian rend simple le développement via un système de tunnel et de hot reload pendant la phase de test, le déploiement d’un environnement à l’autre en sélectionnant l’url de votre outil Atlassian et l’environnement parmis les 3 (dev, staging, production), enfin l’installation se déroule simplement une fois que l’on souhaite basculer en production son outil.
Que peut-on faire avec Forge ?
La réponse est : beaucoup de choses, mais pas tout. Avant de se lancer dans un projet de développement, il faut bien vérifier le périmètre de son application et valider que Forge permet de s’intégrer là où vous en avez besoin. Il y a en effet quelques restrictions. Ceci est amené à évoluer car le produit est en cours de développement par Atlassian. Des améliorations sont apportées régulièrement et certaines choses ne sont pas encore pleinement documentées.
Chez Spiriit, nous nous en servons pour afficher, dans un projet Servicedesk, les contrats associés à chaque client via l’interrogation d’un autre outil qui stocke la liste des contrats. Forge permet, en effet, de se connecter à une API REST pour récupérer des données externes à Jira.
Nous travaillons aussi sur la possibilité de saisir dans Jira, les contrats d’hébergement au travers d’une interface complètement intégrée et la sauvegarde des données se ferait dans Jira. Attention, il y a tout de même certaines limitations au niveau des ressources.
Exemple d’applications proposée par Atlassian :
Atlassian fournit sur bitbucket beaucoup d’exemples d’applications à mettre en œuvre rapidement et simplement. On y retrouve une todo list réalisée en react, un outil de conversion de devises, une macro confluence pour collecter les avis, etc.
C’est un bon point de départ pour prendre en main cet outil et créer rapidement nos premières applications. Nous verrons cela dans un prochain article.