Aide / Klepsi / Jira

Relier Klepsi à Jira

Klepsi propose les tickets Jira à la saisie des temps. Il ne fait que lire Jira, avec un compte de service Atlassian et un jeton d'API restreint. Pas d'OAuth 2.0, aucune écriture. Les étapes 1 à 6 demandent un administrateur de l'organisation Atlassian.

1

Créez un compte de service

Un administrateur de l'organisation Atlassian ouvre admin.atlassian.com, puis Annuaire et Comptes de service. Cliquez sur Créer un compte de service et nommez-le Klepsi.

Un compte de service n'est rattaché à personne. Il survit aux départs, et ses droits se lisent d'un coup d'œil.

admin.atlassian.com : menu Annuaire, entrée Comptes de service, et le bouton Créer un compte de service
2

Donnez-lui le rôle d'agent, sans groupe

L'assistant demande ensuite un rôle par application :

  • Jira Service Management : Utilisateur (agent). Ce rôle est nécessaire pour lire les tickets. Un client du portail ne voit que ses propres demandes.
  • Customer Service Management, Assets, Studio et Jira Administration : Aucun.

Laissez le champ Groupes vide, puis cliquez sur Créer.

N'ajoutez surtout pas site-admins, administrators ou jira-admins-… : ces groupes donnent des droits d'administration. jira-servicemanagement-customers-… est inutile, c'est le groupe des clients du portail.
Choix des rôles du compte de service : Utilisateur (agent) sur Jira Service Management, Aucun sur les autres applications, aucun groupe
3

Ouvrez-lui les projets à suivre

Le rôle d'agent ne suffit pas : le compte doit être membre de chaque projet dont Klepsi doit lire les tickets. Dans Jira, ouvrez le projet, puis Paramètres du projet et Personnes (Accès sur un projet géré par l'équipe).

Cliquez sur Ajouter des personnes, cherchez Klepsi ou collez son adresse, choisissez le rôle Service Desk Team (Agent sur un projet géré par l'équipe) et validez avec Ajouter 1 personne. Recommencez pour chaque projet.

Sans cette étape, le test de connexion réussit, mais la recherche ne renvoie aucun ticket.
4

Créez un jeton d'API

Revenez sur la fiche du compte Klepsi dans admin.atlassian.com et cliquez sur Créer des identifiants. Choisissez Jeton d'API, pas OAuth 2.0.

Nommez le jeton Klepsi et prenez l'expiration la plus longue proposée, un an aujourd'hui. Notez la date dans votre agenda : passé ce jour, Klepsi ne lit plus rien.

Relevez au passage l'adresse affichée sous E-mail, en @serviceaccount.atlassian.com. Elle servira dans Klepsi.

Fiche du compte de service Klepsi : son adresse en serviceaccount.atlassian.com et le bouton Créer des identifiants
5

Limitez le jeton à la lecture

Choisissez l'application Jira et cochez deux portées classiques : read:jira-user et read:jira-work. Rien d'autre.

Ne cochez pas read:servicedesk-request : elle ouvre l'API Service Desk, que Klepsi n'utilise pas.

Si seules des portées granulaires sont proposées, prenez read:jira-user, read:issue-details:jira, read:jql:jira et read:project:jira.

Liste des portées filtrée sur Jira, Classic et Read : read:jira-user et read:jira-work cochées, read:servicedesk-request décochée
6

Copiez le jeton tout de suite

L'écran de vérification reprend le nom, l'échéance et les portées. Créez le jeton.

Il ne s'affiche qu'une seule fois. Collez-le dans Klepsi (étape 8) et rangez-le dans votre coffre de mots de passe. S'il est perdu, il ne se retrouve pas : on en crée un autre.

Vérification du jeton d'API : nom Klepsi, expiration à un an, périmètres read:jira-user et read:jira-work
7

Relevez le cloudId de votre site

Un jeton de compte de service ne fonctionne pas sur l'adresse habituelle du site. Il passe par la passerelle d'Atlassian, qui a besoin de l'identifiant du site, le cloudId.

Ouvrez cette adresse dans un navigateur, en remplaçant societe par le nom de votre site :

https://societe.atlassian.net/_edge/tenant_info

{"cloudId":"1a2b3c4d-0000-0000-0000-000000000000"}
8

Remplissez la connexion dans Klepsi

Dans Klepsi, ouvrez Paramètres, onglet Intégrations, puis Ajouter une connexion :

  • Libellé : un nom pour vous, par exemple « JSM Société ». Le texte grisé n'est qu'un exemple, le champ est vide.
  • Outil : Jira / Jira Service Management.
  • URL du site : https://societe.atlassian.net. Elle sert à construire les liens vers les tickets.
  • URL de l'API : https://api.atlassian.com/ex/jira/<cloudId>. Obligatoire avec un jeton de compte de service : l'URL du site le refuse.
  • Adresse du compte : l'adresse en @serviceaccount.atlassian.com relevée à l'étape 4.
  • Jeton d'API : le jeton copié à l'étape 6.
Formulaire Outils de tickets de Klepsi rempli avec des valeurs d'exemple, le champ URL de l'API encadré
9

Testez, puis reliez vos projets

Cliquez sur Enregistrer, puis sur Tester la connexion. Klepsi affiche le nom du compte qu'il a reconnu.

Ouvrez ensuite la fiche de chaque projet Klepsi concerné. Dans le bloc Tickets, choisissez la Connexion et indiquez les Clés de projets Jira. L'Organisation JSM et le Complément JQL sont facultatifs, pour ne garder que les demandes d'un client.

Faites un essai à la saisie : le champ Ticket doit proposer des tickets dès les premières lettres.

Renouveler le jeton avant l'échéance

Quelques jours avant la date notée, créez un nouveau jeton sur la fiche du compte, avec les mêmes portées. Collez-le dans Klepsi en modifiant la connexion, puis vérifiez qu'une recherche de ticket fonctionne. Révoquez l'ancien jeton seulement ensuite.

En cas de problème

« Jira a répondu 401 » : le jeton ou l'adresse du compte est faux, ou le champ URL de l'API est resté vide. Avec un compte de service, l'URL du site ne suffit pas.

Le test réussit mais aucun ticket n'apparaît : le compte n'a pas de rôle dans le projet Jira (étape 3), ou la clé de projet saisie sur la fiche Klepsi ne correspond pas.

Le jeton a expiré : Jira refuse les appels. Créez-en un nouveau comme indiqué ci-dessus.

Ce que Klepsi appelle dans Jira

Pour votre service sécurité, voici la liste complète. Trois appels, tous en lecture :

  • GET /rest/api/3/myself : le test de connexion.
  • GET /rest/api/3/user/search : retrouver le compte Jira d'un utilisateur Klepsi d'après son adresse, pour lui proposer ses tickets.
  • POST /rest/api/3/search/jql : la recherche de tickets. C'est un POST, mais il ne modifie rien.

Besoin d'aide ?

Notre équipe support peut vous accompagner pour ce réglage. Écrivez-nous à support@aleop.eu.