Chez Orange, dans l’entité dans laquelle je travaille, nous avons un site intranet qui permet d’accéder facilement à plusieurs outils nécessaires aux équipes pour leur travail. L’une des fonctionnalités de ce site intranet est de pouvoir envoyer des communications par mail. Il existe plusieurs types de communications selon la situation. L’un d’entre eux concerne les communications d’incident. Lorsqu’un incident se produit sur un service d’Orange on envoie une communication de début d’incident. De la même manière lorsque l’incident est résolu on envoie une communication de fin d’incident. Lors de l’envoi d’une communication de fin d'incident, la personne qui en est à l'origine doit créer et remplir un ticket sur Jira afin d’assurer le suivi de l’incident pour garder une trace et prendre des mesures afin d’éviter que l’incident se reproduise.
Jira est un système de suivi de bugs, de gestion des incidents et de gestion de projets développé par Atlassian et publié pour la première fois en 2002. L'outil Jira permet aux entreprises de mettre en place un fonctionnement en méthode agile et facilite le travail des utilisateurs concernés dans leur organisation. Il permet notamment la création et la planification de tâches via un système de rédaction et de gestion des récits utilisateurs. Il peut être utilisé également pour le suivi d’incidents, ou par exemple pour gérer les demandes de support ou de service client sous la forme de tickets.
L'objectif de cette réalisation était donc de faire évoluer le formulaire d’envoi de communication afin que le ticket Jira soit créé et rempli de manière automatique, et qu’il n’y aie donc plus besoin d’intervention humaine pour le créer manuellement. Pour cela il y avait plusieurs prérequis. Il fallait connecter le site intranet à l’api de Jira et étudier la documentation pour apprendre à l'utiliser, ensuite prendre connaissance du fonctionnement de l’outil de communication.
Pour cette réalisation, j’ai gardé les technologies et langages dans lesquels avait été développé le site intranet, principalement du PHP, du JavaScript, un peu de MYSQL pour la base de donnés, et du Json pour les formats de données de l’api.
Une première problématique est apparue quand j’ai commencé à étudier la documentation de l’api Jira. Cette documentation était incomplète et obsolète, il m’a donc fallu un certain temps pour comprendre le fonctionnement de l’api, apprendre la syntaxe des requêtes, les mots clés à utiliser, et savoir quelle requête fait quoi avant de pouvoir l’utiliser.
Une deuxième problématique est apparue quand j’ai commencé à tester mes requêtes à l'api de Jira. Il y avait un problème au niveau du réseau interne de l’entreprise qui empêchait les requêtes de s'exécuter correctement. Il nous a donc fallu réfléchir à une solution avec mon Lead dev, et nous avons finalement implémenté un proxy afin de contourner ce blocage avec le réseau de l’entreprise et d'exécuter les requêtes correctement.
Après cela il n’y a pas eu d’autres problèmes majeurs, j’ai pu tester mes requêtes à l’api et commencer à les implémenter dans le formulaire de communication.
J’ai d'abord créé les nouveaux champs nécessaires à la création du ticket et je les ai également ajoutés à l'api du site intranet afin qu’ils soient enregistrés dans la base de données.
S’en est suivie une longue série de tests dans lesquels je vérifiais méticuleusement le rendu dans le mail et dans la description du ticket sur Jira, des informations renseignées dans le formulaire.
Pour finir j’ai retouché un peu le template du mail afin d’y ajouter le numéro du ticket créé avec un lien dynamique qui permet d’accéder directement à la page du ticket sur Jira.
Cette réalisation a été très enrichissante pour moi car elle m’a permis de découvrir l’api Jira que je ne connaissais pas et de mieux comprendre les requêtes api et la structure MVC grâce à ce site intranet qui a été développé par mon Lead dev.