PRIX
PRODUIT
SOLUTIONS
par cas d'utilisation
en savoir plus
BlogModèlesVidéosYoutubeRESSOURCES
COMMUNAUTÉS ET MÉDIAS SOCIAUX
PARTENAIRES
Jira, la plateforme polyvalente de suivi des problèmes et de gestion de projet d'Atlassian, est devenue un outil indispensable pour d'innombrables équipes de développement dans le monde entier. Si son interface conviviale facilite la gestion des projets et le suivi des problèmes, la véritable puissance de Jira réside dans ses vastes options de personnalisation et ses capacités d'intégration. Au centre de tout cela se trouve l'API REST de Jira, qui ouvre un monde de possibilités pour l'automatisation des tâches, la création d'applications personnalisées et l'intégration transparente de Jira à d'autres outils de ton écosystème de développement. Dans ce guide complet, nous allons nous plonger dans l'API REST de Jira, explorer ses capacités et parcourir des exemples pratiques pour t'aider à démarrer.
Principaux enseignements : L'API Jira REST est un outil polyvalent qui permet d'automatiser des tâches, de créer des apps personnalisées et d'intégrer Jira à d'autres outils de développement sur les versions Cloud et Server/Data Center. Elle offre un large éventail de fonctionnalités, notamment la gestion des problèmes, les opérations en masse et les rapports personnalisés, avec la prise en charge de fonctions avancées telles que la pagination et l'expansion des données. Bien qu'il y ait quelques différences entre les versions, les fonctionnalités de base de l'API restent cohérentes, ce qui permet aux équipes de personnaliser efficacement Jira en fonction de leurs besoins spécifiques et de l'intégrer de manière transparente à leur écosystème de développement.
À la base, une API (interface de programmation d'applications) est un ensemble de protocoles et d'outils qui spécifient la façon dont les composants logiciels doivent interagir. Dans le contexte de Jira, l'API permet aux applications externes d'interagir avec Jira de manière programmatique, permettant la récupération et la manipulation de données, ainsi que l'exécution d'actions au sein de Jira. Jira propose deux types d'API :
L'API Java Jira est un outil puissant pour les développeurs qui créent des applications ou des plugins Jira personnalisés. Elle fournit un accès direct aux objets et méthodes Java sous-jacents du serveur Jira, ce qui permet une intégration et une personnalisation approfondies. Cependant, ce niveau d'accès n'est disponible que pour les installations Jira sur site (serveur ou centre de données) où tu as un accès direct au serveur. Si tu travailles avec Jira Cloud ou si tu construis une intégration autonome, l'API REST est la voie à suivre.
REST (Representational State Transfer) est un style architectural qui définit un ensemble de contraintes pour créer des services web. Une API REST expose un ensemble de points d'extrémité HTTP auxquels on peut accéder en envoyant des requêtes avec des méthodes HTTP spécifiques (GET, POST, PUT, DELETE) pour effectuer des opérations sur des ressources.
L'API Jira REST suit cette architecture et fournit un ensemble complet de points de terminaison pour interagir avec presque tous les aspects de Jira, des problèmes et des projets aux tableaux agiles et aux tableaux de bord. Elle renvoie les données au format JSON et prend en charge diverses méthodes d'authentification pour garantir un accès sécurisé.
L'un des principaux avantages de l'API REST est son indépendance vis-à-vis de la plateforme - tu peux appeler l'API à partir de n'importe quel appareil ou application capable d'effectuer des requêtes HTTP, quel que soit le langage de programmation utilisé. Cela en fait le choix idéal pour construire des intégrations entre Jira et d'autres outils, ou pour créer des interactions par script avec Jira à partir de la ligne de commande.
Les possibilités sont presque infinies. Voici quelques exemples de ce que tu peux réaliser avec l'API REST de Jira :
Il ne s'agit là que de quelques exemples - l'API REST de Jira fournit un ensemble étendu de points de terminaison qui couvrent presque toutes les caractéristiques et fonctions disponibles dans l'interface utilisateur de Jira. Si tu peux le faire dans Jira, il y a de fortes chances que tu puisses le faire via l'API.
Bien que l'API Jira REST offre en grande partie les mêmes capacités dans Jira Cloud, Server et Data Center, il y a quelques différences clés à connaître :
Malgré ces différences, les concepts de base et les modèles d'utilisation de l'API REST restent largement les mêmes d'un déploiement à l'autre. Les compétences et les connaissances que tu as acquises en travaillant avec une version de l'API seront facilement transférables à d'autres.
Pour commencer à utiliser l'API REST de Jira, tu auras besoin de :
Avec ces éléments en place, tu es prêt à faire tes premières demandes d'API.
Passons en revue un exemple pratique d'utilisation de l'API REST de Jira pour créer, récupérer, mettre à jour et rechercher des problèmes. Nous utiliserons Postman pour nos exemples, mais les principes s'appliquent à n'importe quel client API.
Si tu n'as pas encore d'instance Jira avec laquelle travailler, le moyen le plus simple de commencer est de t'inscrire à une instance Jira Cloud gratuite sur https://www.atlassian.com/software/jira. Une fois ton site configuré, crée un nouveau projet avec lequel travailler.
Pour authentifier nos demandes d'API, nous utiliserons un jeton d'API. Voici comment en générer un :
Commençons par récupérer les détails d'un problème existant :
Maintenant, créons une nouvelle question par l'intermédiaire de l'API :
Passe à l'onglet "Corps", sélectionne le bouton radio "raw" et saisis le JSON suivant, en remplaçant les valeurs project.key, issuetype.name, summary et description comme il convient :
3. Clique sur "Envoyer". Jira répondra avec un statut 201 Créé et les détails complets du problème nouvellement créé.
Pour mettre à jour un numéro existant, nous utilisons la méthode PUT :
Dans le corps de la demande, inclus les champs que tu veux mettre à jour, par exemple :
2. Clique sur "Envoyer". Jira répondra avec un statut 204 Pas de contenu pour indiquer que la mise à jour a réussi.
Les puissantes capacités de recherche de Jira sont également accessibles via l'API REST à l'aide de JQL (Jira Query Language) :
Dans le corps de la requête, inclus une requête JQL et tout paramètre supplémentaire :
Cette requête renvoie les 10 derniers problèmes créés dans l'état "À faire" du projet spécifié, en incluant uniquement les champs résumé, état et attributaire.
Ces exemples ne font qu'effleurer la surface de ce qui est possible avec l'API REST de Jira. Au fur et à mesure que tu te familiariseras avec les points de terminaison et les paramètres disponibles, tu pourras construire des intégrations de plus en plus complexes et puissantes.
L'une des applications les plus puissantes de l'API REST de Jira est l'automatisation de la création et de la mise à jour des tâches. Avec Latenode, tu peux mettre en place des flux de travail sophistiqués qui créent et mettent à jour automatiquement des tâches dans Jira en fonction de données provenant de sources externes ou de déclencheurs spécifiques. Cela permet de s'assurer que les informations contenues dans ton système de gestion de projet restent à jour et opportunes, ce qui améliore l'efficacité de l'équipe.
Par exemple, tu peux créer un flux de travail qui crée automatiquement une nouvelle tâche dans Jira lorsqu'un message d'erreur est reçu d'un système de surveillance, en remplissant tous les champs nécessaires et en attribuant la tâche au développeur approprié. Au fur et à mesure que les mises à jour arrivent, la tâche peut être automatiquement mise à jour, et lorsque le problème est résolu, il peut être fermé. Cette approche rationalisée améliore non seulement le suivi des problèmes, mais fait également gagner du temps à ton équipe, en lui permettant de se concentrer sur la résolution des problèmes plutôt que sur leur administration.
Tu peux en savoir plus sur ce script et sur l'intégration avec Latenode dans cet article. L'intégration avec Latenode offre quelques avantages clés :
Imagine que chaque courriel important d'un client se transforme automatiquement en tâche dans Jira. Avec Latenode, cela devient une réalité. Notre plateforme assure la création d'une nouvelle tâche dans le bon projet avec des champs remplis en fonction du contenu de l'email, ce qui garantit qu'aucune demande importante n'est manquée.
Voici un exemple de la façon dont un flux de travail Latenode automatise la création et la mise à jour des tâches Jira en fonction des données des courriels entrants provenant d'une source externe.
Cette image montrerait une représentation visuelle du flux de travail dans l'interface de Latenode, avec des nœuds connectés représentant chaque étape du processus, de la réception de l'e-mail à la création de la tâche Jira.
Ce n'est qu'un exemple de la façon dont Latenode peut transformer ton approche de l'utilisation de l'API Jira grâce à une puissante automatisation. En fait, les capacités de la plateforme sont pratiquement illimitées - tu peux créer tous les scénarios d'automatisation nécessaires pour améliorer l'efficacité de ton entreprise. Qu'il s'agisse de la distribution automatique des tâches, de l'envoi de notifications, du suivi des indicateurs clés de performance ou de toute autre tâche - Latenode fournit les outils nécessaires pour leur donner vie.
En tirant parti du constructeur visuel de flux de travail de Latenode et de l'intégration transparente avec l'API REST de Jira, tu peux facilement concevoir et mettre en œuvre des scénarios d'automatisation complexes, en augmentant l'efficacité de la gestion de projet et en accélérant les flux de travail de ton équipe.
Si tu as besoin d'aide ou de conseils pour créer ton propre script ou si tu veux reproduire celui-ci, contacte notre communauté Discord, où se trouvent les experts en automatisation Low-code.
Lorsque tu commenceras à travailler avec des ensembles de données plus importants dans Jira, tu devras savoir comment l'API REST gère la pagination, l'expansion des ressources imbriquées et l'ordre des résultats.
De nombreuses ressources Jira contiennent des références à d'autres ressources imbriquées. Par exemple, une question contient des références à son projet, à son type d'émission, à son créateur, à son rapporteur, à son destinataire, à ses commentaires, à ses pièces jointes, etc. Par défaut, ces ressources imbriquées sont renvoyées sous forme de stubs, ne contenant que quelques champs de base et un lien automatique vers la ressource complète.
Si tu as besoin de tous les détails d'une ressource imbriquée, tu peux utiliser le paramètre de requête expand pour demander à Jira d'inclure la ressource complète dans la réponse. Par exemple, pour inclure les détails complets du projet et de l'assigné d'une question :
Tu peux développer plusieurs ressources en les séparant par une virgule. Sache que les expansions peuvent augmenter de manière significative la taille de la charge utile de la réponse, alors utilise-les judicieusement.
Les demandes qui pourraient potentiellement renvoyer un grand nombre de résultats (comme les recherches JQL) sont paginées par défaut. L'API renvoie un nombre maximum de résultats par page (50 par défaut, mais personnalisable jusqu'à 100) ainsi que des liens vers les pages suivantes et précédentes.
Tu peux contrôler la pagination à l'aide des paramètres startAt et maxResults :
Par exemple, pour récupérer la deuxième page de résultats avec une taille de page de 20 :
Ton application devra gérer le fait de faire plusieurs demandes pour récupérer toutes les pages de résultats.
Tu peux contrôler l'ordre des résultats à l'aide du paramètre orderBy, qui accepte une liste de champs séparés par des virgules. Chaque champ peut être préfixé par un - pour indiquer un ordre décroissant.
Par exemple, pour classer les questions par date de création en ordre décroissant, puis par priorité en ordre croissant :
GET .../rest/api/3/search?jql=project=Votre_clé_de_projet&orderBy=-created,priority
Tous les champs ne prennent pas en charge les commandes - reporte-toi à la documentation du point de terminaison spécifique pour voir ce qui est disponible.
Voici quelques exemples plus avancés qui démontrent la puissance de l'API REST de Jira pour les opérations en masse.
Supposons que tu disposes d'un fichier CSV contenant les données de plusieurs problèmes que tu souhaites créer ou mettre à jour dans Jira. Tu peux utiliser un outil comme Postman pour automatiser ce processus :
Dans l'onglet Corps, sélectionne le bouton radio "brut" et saisis un modèle pour tes données d'émission, en utilisant des variables pour les champs qui proviendront de ton CSV :
2. Passe à l'onglet "Script de pré-requête" et ajoute du code pour lire ton fichier CSV et définir les variables correspondantes :
3. Dans la fenêtre "Runner", sélectionne ton fichier CSV comme fichier de données et lance l'exécution. Postman créera une nouvelle requête pour chaque ligne de ton CSV, en remplaçant les variables du fichier.
Il s'agit d'une technique puissante pour importer en masse des données dans Jira à partir de sources externes.
Si tes données sources sont déjà au format JSON, tu peux utiliser le point de terminaison de création/mise à jour en vrac pour traiter plusieurs questions en une seule demande :
POST https://your-domain.atlassian.net/rest/api/3/issue/bulk
Le corps de la demande doit contenir un tableau d'objets de création/mise à jour de numéro, chacun suivant le même format qu'une demande de création/mise à jour de numéro unique :
Cela créera deux problèmes en une seule demande - une tâche dans le projet PROJ1 et un bogue dans le projet PROJ2. Tu peux inclure jusqu'à 50 problèmes dans une seule demande groupée.
Le point de terminaison en vrac est également utile pour effectuer des transitions, des mises à jour et des suppressions en vrac. Par exemple, pour faire passer plusieurs questions à l'état "Terminé" :
Cela suppose que "31" est l'ID de ta transition "Terminé" - tu peux trouver les transitions disponibles pour un type de question via le point de terminaison /rest/api/3/issue/{issueIdOrKey}/transitions.
L'API REST de Jira est un outil immensément puissant pour intégrer Jira à d'autres systèmes, automatiser des tâches et étendre les capacités de Jira. Dans ce guide, nous avons abordé les principes fondamentaux de l'API, notamment :
Cependant, nous n'avons fait qu'effleurer la surface. L'API Jira REST fournit des points de terminaison pour travailler avec presque tous les aspects de Jira, des projets et des tableaux aux utilisateurs et aux autorisations. Au fur et à mesure que tu construis tes intégrations, veille à te référer à la documentation officielle d'Atlassian pour obtenir les informations les plus récentes et les plus complètes.
Avec l'API REST de Jira dans ta boîte à outils, les possibilités de ce que tu peux faire avec Jira sont presque infinies. Qu'il s'agisse de créer un tableau de bord de rapports personnalisé, de synchroniser des données avec un autre système ou d'automatiser des flux de travail complexes, l'API t'offre la flexibilité et la puissance dont tu as besoin pour y parvenir.
Jira Cloud prend en charge OAuth 2.0 et les jetons d'API pour l'authentification. Pour OAuth, tu devras enregistrer ton application dans la console du développeur d'Atlassian pour obtenir un identifiant et un secret client. Les jetons API sont une option plus simple pour les scripts et les intégrations personnelles. Jira Server et Data Center prennent en charge l'authentification de base (nom d'utilisateur et mot de passe) et l'authentification basée sur la session à l'aide de cookies.
Bien que les points finaux et les fonctionnalités de base soient en grande partie les mêmes, il y a quelques différences clés :
Reporte-toi toujours à la documentation spécifique à ton déploiement de Jira pour t'assurer que tu utilises les URL et les paramètres corrects.
Jira Cloud applique des limites de taux pour assurer la stabilité et la performance du service. Si tu dépasses la limite de débit, tu recevras une réponse 429 Trop de demandes.
Pour éviter d'atteindre les limites de taux :
Les déploiements de serveurs et de centres de données ont la limitation de débit désactivée par défaut, mais les administrateurs peuvent choisir d'activer et de configurer les limites de débit si nécessaire.
Oui, Jira Server et Data Center disposent d'une API REST qui est en grande partie similaire à l'API de jira Cloud. Les principales différences sont :
Reporte-toi à la documentation rest api spécifique au serveur/centre de données pour obtenir les informations les plus précises pour ta version de Jira.
L'API Jira REST est un moyen puissant et flexible d'intégrer Jira dans ton flux de travail de développement. Que tu travailles dans le cloud ou que tu gères ton propre serveur, l'API fournit les outils dont tu as besoin pour automatiser, personnaliser et étendre Jira afin de répondre aux besoins uniques de ton équipe. Avec un peu d'exploration et d'expérimentation, tu pourras libérer tout le potentiel de Jira et faire passer ta gestion de projet au niveau supérieur.