{"id":74953,"date":"2023-12-08T13:09:49","date_gmt":"2023-12-08T12:09:49","guid":{"rendered":"https:\/\/kinsta.com\/fr\/?p=74953&#038;preview=true&#038;preview_id=74953"},"modified":"2023-12-15T18:03:48","modified_gmt":"2023-12-15T17:03:48","slug":"api-jira","status":"publish","type":"post","link":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/","title":{"rendered":"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l&rsquo;aide de l&rsquo;API Jira et de React"},"content":{"rendered":"<p>Jira est un outil de gestion de projet tr\u00e8s r\u00e9pandu qui vous aide \u00e0 assurer le suivi des t\u00e2ches au sein d&rsquo;un projet. Cependant, lorsque vous travaillez sur un projet de grande envergure, votre tableau de bord Jira peut devenir encombr\u00e9 \u00e0 mesure que le nombre de t\u00e2ches et de membres de l&rsquo;\u00e9quipe augmente.<\/p>\n<p>Pour rem\u00e9dier \u00e0 ce probl\u00e8me, vous pouvez utiliser l&rsquo;<a href=\"https:\/\/developer.atlassian.com\/server\/jira\/platform\/rest-apis\/\" target=\"_blank\" rel=\"noopener noreferrer\">API REST de Jira<\/a> pour g\u00e9n\u00e9rer une application simplifi\u00e9e de liste de t\u00e2ches qui affiche les t\u00e2ches qui vous ont \u00e9t\u00e9 attribu\u00e9es et leurs \u00e9ch\u00e9ances. L&rsquo;API vous permet d&rsquo;interagir de mani\u00e8re programmatique avec Jira pour cr\u00e9er, r\u00e9cup\u00e9rer, mettre \u00e0 jour et supprimer des probl\u00e8mes et acc\u00e9der aux donn\u00e9es des utilisateurs et aux d\u00e9tails des projets.<\/p>\n<p>Ce tutoriel vous guide dans le d\u00e9veloppement d&rsquo;une application de liste de t\u00e2ches avec <a href=\"https:\/\/docs.sevalla.com\/templates\/overview\">Node.js<\/a> comme serveur pour r\u00e9cup\u00e9rer les probl\u00e8mes de votre compte Jira et une application React pour les afficher. Vous apprendrez \u00e9galement \u00e0 h\u00e9berger le frontend et le serveur sur Kinsta.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>Pr\u00e9-requis<\/h2>\n<p>Pour suivre cette formation, vous avez besoin de :<\/p>\n<ul>\n<li><a href=\"https:\/\/nodejs.org\/en\/download\/current\" target=\"_blank\" rel=\"noopener noreferrer\">Node.js<\/a> et <a href=\"https:\/\/docs.npmjs.com\/downloading-and-installing-node-js-and-npm\" target=\"_blank\" rel=\"noopener noreferrer\">Node Package Manager<\/a> (npm) install\u00e9s sur votre machine de d\u00e9veloppement.<\/li>\n<li>Un <a href=\"https:\/\/www.atlassian.com\/software\/jira\" target=\"_blank\" rel=\"noopener noreferrer\">compte Jira<\/a> pour acc\u00e9der aux t\u00e2ches.<\/li>\n<li>Une solide compr\u00e9hension de <a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-ce-que-node-js\/\">Node.js<\/a> et de <a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\">React<\/a>.<\/li>\n<\/ul>\n<h2>Comment construire le backend avec Node.js et Express<\/h2>\n<p><a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-express-js\/\">Express<\/a> est un framework Node.js populaire qui fournit un environnement rationalis\u00e9 pour construire des applications c\u00f4t\u00e9 serveur. Express simplifie la gestion des itin\u00e9raires et facilite les interactions avec les ressources externes, telles que les API, les bases de donn\u00e9es et les applications frontales.<\/p>\n<p>Suivez les \u00e9tapes ci-dessous pour configurer le serveur :<\/p>\n<ol start=\"1\">\n<li>Cr\u00e9ez un nouveau r\u00e9pertoire et acc\u00e9dez-y. Ensuite, initialisez Node.js en ex\u00e9cutant la commande ci-dessous :\n<pre><code class=\"language-bash\">npm init -y<\/code><\/pre>\n<p>Cette commande cr\u00e9e un fichier <strong>package.json<\/strong> avec les param\u00e8tres par d\u00e9faut \u00e0 la racine du dossier de votre application.<\/li>\n<li>Ensuite, installez toutes les d\u00e9pendances n\u00e9cessaires \u00e0 votre projet en ex\u00e9cutant la commande suivante :\n<pre><code class=\"language-bash\">npm install express dotenv axios<\/code><\/pre>\n<p>La commande ci-dessus installe les \u00e9l\u00e9ments suivants :<\/p>\n<ul>\n<li><code><a href=\"https:\/\/www.npmjs.com\/package\/express\" target=\"_blank\" rel=\"noopener noreferrer\">express<\/a><\/code> &#8211; Un framework Node.js minimal pour la cr\u00e9ation d&rsquo;API.<\/li>\n<li><code><a href=\"https:\/\/www.npmjs.com\/package\/dotenv\" target=\"_blank\" rel=\"noopener noreferrer\">dotenv<\/a><\/code> &#8211; Un module qui charge les variables <code>.env<\/code> sur <code>process.env<\/code> pour vous permettre d&rsquo;y acc\u00e9der en toute s\u00e9curit\u00e9.<\/li>\n<li><code><a href=\"https:\/\/www.npmjs.com\/package\/axios\" target=\"_blank\" rel=\"noopener noreferrer\">axios<\/a><\/code> &#8211; Un client HTTP bas\u00e9 sur les promesses pour Node.js. Vous l&rsquo;utilisez pour effectuer des appels API vers Jira.<\/li>\n<\/ul>\n<\/li>\n<li>Une fois l&rsquo;installation r\u00e9ussie, cr\u00e9ez un fichier <strong>.env<\/strong> \u00e0 la racine de votre projet et ajoutez le num\u00e9ro <code>PORT<\/code>:\n<pre><code class=\"language-bash\">PORT=3000<\/code><\/pre>\n<p>Il s&rsquo;agit du num\u00e9ro de port sur lequel le serveur \u00e9coute. Vous pouvez le changer pour un port de votre choix.<\/li>\n<li>Cr\u00e9ez un fichier <strong>index.js<\/strong> dans le dossier racine de votre projet et ajoutez le code suivant pour importer Express, cr\u00e9er une instance d&rsquo;application Express et d\u00e9marrer votre serveur :\n<pre><code class=\"language-javascript\">const express = require('express');\nrequire('dotenv').config()\nconst app = express();\nconst PORT = process.env.PORT;\n\n\/\/ Define routes here\n\napp.listen(PORT, () =&gt; {\n  console.log(`Server is running on port ${PORT}`);\n});<\/code><\/pre>\n<\/li>\n<li>Enfin, dans votre fichier <strong>package.json<\/strong>, ajoutez un script pour d\u00e9marrer votre serveur :\n<pre><code class=\"language-javascript\">\"scripts\": {\n   \"start\": \"node index\"\n  },<\/code><\/pre>\n<p>Maintenant, vous pouvez ex\u00e9cuter le script de d\u00e9marrage dans votre terminal :<\/p>\n<pre><code class=\"language-bash\">npm run start<\/code><\/pre>\n<p>Cette commande d\u00e9marre votre serveur. Vous devriez voir le texte suivant affich\u00e9 dans le terminal :<\/p>\n<pre><code class=\"language-bash\">Server is running on port 3000<\/code><\/pre>\n<p>Le serveur \u00e9tant op\u00e9rationnel, vous pouvez maintenant configurer votre application Jira.<\/li>\n<\/ol>\n<h3>Comment configurer une application Jira<\/h3>\n<p>Pour utiliser l&rsquo;API REST Jira, vous devez authentifier un compte utilisateur sur votre site Jira. L&rsquo;API de l&rsquo;application de t\u00e2ches que vous cr\u00e9ez utilise une authentification de base avec l&rsquo;adresse e-mail d&rsquo;un compte Atlassian et un jeton API.<\/p>\n<p>Voici comment la configurer :<\/p>\n<ol start=\"1\">\n<li>Cr\u00e9ez un <a href=\"https:\/\/www.atlassian.com\/software\/jira\" target=\"_blank\" rel=\"noopener noreferrer\">compte Jira<\/a> ou connectez-vous si vous en avez un.<\/li>\n<li>Acc\u00e9dez \u00e0 la <a href=\"https:\/\/id.atlassian.com\/manage-profile\/security\/api-tokens\" target=\"_blank\" rel=\"noopener noreferrer\">section s\u00e9curit\u00e9<\/a> de votre profil Atlassian et cliquez sur <strong>Cr\u00e9er un jeton API<\/strong>.<\/li>\n<li>Dans la bo\u00eete de dialogue qui s&rsquo;affiche, saisissez un libell\u00e9 pour votre jeton (par exemple, \u00ab jira-todo-list \u00bb) et cliquez sur <strong>Cr\u00e9er<\/strong>.<\/li>\n<li>Copiez le jeton dans votre presse-papiers.<\/li>\n<li>Enfin, stockez le jeton API dans votre fichier <strong>.env<\/strong>:\n<pre><code class=\"bash\">JIRA_API_TOKEN=\"your-api-token\"<\/code><\/pre>\n<p>Vous pouvez maintenant acc\u00e9der \u00e0 l&rsquo;API Jira \u00e0 l&rsquo;aide de l&rsquo;authentification de base.<\/li>\n<\/ol>\n<h3>Configurer des routes pour r\u00e9cup\u00e9rer les probl\u00e8mes dans Jira<\/h3>\n<p>Maintenant que vous avez configur\u00e9 une application Jira. Mettons en place des routes pour r\u00e9cup\u00e9rer les probl\u00e8mes de Jira dans votre serveur Node.js.<\/p>\n<p>Pour lancer une requ\u00eate \u00e0 l&rsquo;API Jira, vous devez utiliser le jeton API Jira que vous avez enregistr\u00e9 dans le fichier <strong>.env<\/strong>. R\u00e9cup\u00e9rez le jeton API \u00e0 l&rsquo;aide de <code>process.env<\/code> et affectez-le \u00e0 une variable nomm\u00e9e <code>JIRA_API_TOKEN<\/code> dans votre fichier <strong>index.js<\/strong> :<\/p>\n<pre><code class=\"language-javascript\">const JIRA_API_TOKEN = process.env.JIRA_API_TOKEN<\/code><\/pre>\n<p>Vous devez maintenant d\u00e9finir l&rsquo;URL du point de terminaison pour votre demande d&rsquo;API. Cette URL contient votre domaine Jira et une instruction <a href=\"https:\/\/www.atlassian.com\/blog\/jira-software\/jql-the-most-flexible-way-to-search-jira-14\" target=\"_blank\" rel=\"noopener noreferrer\">Jiar Query Language<\/a> (JQL). Le domaine Jira fait r\u00e9f\u00e9rence \u00e0 l&rsquo;URL de votre organisation Jira et ressemble \u00e0 <code>org.atlassian.net<\/code>, o\u00f9 <code>org<\/code> est le nom de votre organisation. JQL, quant \u00e0 lui, est un langage de requ\u00eate permettant d&rsquo;interagir avec les probl\u00e8mes dans Jira.<\/p>\n<p>Commencez par ajouter le domaine Jira au fichier <strong>.env<\/strong>:<\/p>\n<pre><code class=\"bash\">JIRA_DOMAIN=\"your-jira-domain\"<\/code><\/pre>\n<p>Vous devez \u00e9galement enregistrer votre adresse e-mail Jira dans le fichier <strong>.env<\/strong>, car elle sera utilis\u00e9e pour l&rsquo;autorisation lors d&rsquo;une demande \u00e0 Jira :<\/p>\n<pre><code class=\"language-bash\">JIRA_EMAIL=\"your-jira-email\"<\/code><\/pre>\n<p>Ensuite, ajoutez les deux variables d&rsquo;environnement et construisez l&rsquo;URL du point final en utilisant le domaine et l&rsquo;instruction JQL suivante. Cette requ\u00eate filtre les probl\u00e8mes dont le statut est \u00ab In progress \u00bb ou \u00ab To do \u00bb pour l&rsquo;utilisateur connect\u00e9, puis les classe par statut :<\/p>\n<pre><code class=\"language-javascript\">const jiraDomain = process.env.JIRA_DOMAIN;\nconst email= process.env.JIRA_EMAIL;\n\nconst jql = \"status%20in%20(%22In%20progress%22%2C%20%22To%20do%22)%20OR%20assignee%20%3D%20currentUser()%20order%20by%20status\";\n \nconst apiUrl = `https:\/\/${jiraDomain}\/rest\/api\/3\/search?jql=${jql}`;<\/code><\/pre>\n<p>Avant de cr\u00e9er une route, importez \u00e9galement Axios dans votre fichier index.js :<\/p>\n<pre><code class=\"language-javascript\">const axios = require(\"axios\")<\/code><\/pre>\n<p>Vous pouvez maintenant cr\u00e9er une route pour effectuer une requ\u00eate GET \u00e0 l&rsquo;API Jira et renvoyer les probl\u00e8mes. Dans le fichier <strong>index.js<\/strong>, ajoutez le code suivant :<\/p>\n<pre><code class=\"language-javascript\">app.get('\/issues\/all', async (req, res) =&gt; {\n  })<\/code><\/pre>\n<p>Maintenant, utilisez la m\u00e9thode <code>axios.get<\/code> pour faire une requ\u00eate GET \u00e0 l&rsquo;API REST Jira. Vous cr\u00e9ez l&rsquo;en-t\u00eate <code>Authorization<\/code> en encodant en base64 votre courriel Jira et votre jeton API :<\/p>\n<pre><code class=\"language-javascript\">const response = await axios.get(apiUrl, {\n        headers: {\n        Authorization: `Basic ${Buffer.from(\n          `${email}:${JIRA_API_TOKEN}`\n        ).toString(\"base64\")}`,\n        Accept: \"application\/json\",\n      },\n    });<\/code><\/pre>\n<p>Attendez la r\u00e9ponse de l&rsquo;API Jira et enregistrez-la dans une variable. La r\u00e9ponse contient une propri\u00e9t\u00e9 appel\u00e9e <code>issues<\/code>, qui contient un tableau d&rsquo;objets issue :<\/p>\n<pre><code class=\"language-javascript\">const data = await response.json();\nconst { issues } = data;<\/code><\/pre>\n<p>Ensuite, it\u00e9rez sur le tableau <code>issues<\/code>, extrayez uniquement les informations pertinentes sur les t\u00e2ches \u00e0 effectuer et renvoyez-les dans une r\u00e9ponse JSON :<\/p>\n<pre><code class=\"language-javascript\">let cleanedIssues = [];\nissues.forEach((issue) =&gt; {\n      const issueData = {\n        id: issue.id,\n        projectName: issue.fields.project.name,\n        status: issue.fields.status.name,\n        deadline: issue.fields.duedate,\n      };\n      cleanedIssues.push(issueData);\n});\nres.status(200).json({ issues: cleanedIssues });<\/code><\/pre>\n<p>Si vous adressez une requ\u00eate \u00e0 <code>http:\/\/localhost:3000\/issues\/all<\/code>, vous devriez recevoir un objet JSON contenant les questions :<\/p>\n<pre><code class=\"language-bash\">curl localhost:3000\/issues\/all<\/code><\/pre>\n<p>Vous pouvez m\u00eame aller plus loin en utilisant un fournisseur comme SendGrid et une t\u00e2che cron pour envoyer des e-mails quotidiens contenant les t\u00e2ches qui vous ont \u00e9t\u00e9 assign\u00e9es.<\/p>\n<h3>H\u00e9berger votre application Node.js sur Kinsta<\/h3>\n<p>Avant d&rsquo;h\u00e9berger votre application sur Kinsta, activez le <a href=\"https:\/\/kinsta.com\/fr\/blog\/bibliotheques-node-js\/#2-cors\">Cross-Origin Resource Sharing (CORS)<\/a> pour \u00e9viter une erreur <code>access-control-allow-origin<\/code> puisque vous h\u00e9bergez le backend et le frontend sur des domaines diff\u00e9rents. Pour ce faire, proc\u00e9dez comme suit :<\/p>\n<ol start=\"1\">\n<li>Installez le <a href=\"https:\/\/www.npmjs.com\/package\/cors\" target=\"_blank\" rel=\"noopener noreferrer\">paquetage npm cors<\/a> en ex\u00e9cutant cette commande dans votre terminal :\n<pre><code class=\"language-bash\">npm install cors<\/code><\/pre>\n<\/li>\n<li>Ensuite, importez le paquet dans <strong>index.js<\/strong>.\n<pre><code class=\"language-javascript\">const cors = require('cors')<\/code><\/pre>\n<\/li>\n<li>Ensuite, configurez CORS en tant que middleware pour l&rsquo;activer pour chaque requ\u00eate entrante. Ajoutez le code suivant au d\u00e9but de votre fichier <strong>index.js<\/strong>:\n<pre><code class=\"language-javascript\">app.use(cors());<\/code><\/pre>\n<p>Vous pouvez d\u00e9sormais envoyer des requ\u00eates HTTP \u00e0 votre serveur \u00e0 partir d&rsquo;un domaine diff\u00e9rent sans rencontrer d&rsquo;erreurs CORS.<\/li>\n<\/ol>\n<p>Ensuite, poussez votre code vers un fournisseur Git pr\u00e9f\u00e9r\u00e9 <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">(Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> ou <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>) et suivez les \u00e9tapes ci-dessous pour l&rsquo;h\u00e9berger :<\/p>\n<ol start=\"1\">\n<li>Connectez-vous ou cr\u00e9ez un compte pour afficher votre tableau de bord <a href=\"https:\/\/my.kinsta.com\/?lang=fr\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta<\/a>.<\/li>\n<li>Autorisez Kinsta avec votre fournisseur Git.<\/li>\n<li>Cliquez sur <strong>Applications<\/strong> dans la barre lat\u00e9rale gauche, puis cliquez sur <strong>Ajouter une application<\/strong>.<\/li>\n<li>S\u00e9lectionnez le d\u00e9p\u00f4t et la branche \u00e0 partir desquels vous souhaitez d\u00e9ployer l&rsquo;application.<\/li>\n<li>Attribuez un nom unique \u00e0 votre application et choisissez un <strong>centre de donn\u00e9es<\/strong>.<\/li>\n<li>Ajoutez les variables d&rsquo;environnement. Il n&rsquo;est pas n\u00e9cessaire d&rsquo;ajouter le PORT en tant que variable d&rsquo;environnement, car Kinsta le g\u00e8re automatiquement. Cochez les cases situ\u00e9es \u00e0 c\u00f4t\u00e9 de <strong>Available during runtime<\/strong> et <strong>Available during build process<\/strong>:\n<p><figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/kinsta-environment-variables.png\" alt=\"Variables d'environnement de l'application Kinsta.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Variables d&rsquo;environnement de l&rsquo;application Kinsta.<\/figcaption><\/figure><\/li>\n<li>Passez en revue les autres informations (vous pouvez laisser les valeurs par d\u00e9faut) et cliquez sur <strong>Cr\u00e9er l&rsquo;application<\/strong>.<\/li>\n<\/ol>\n<p>Votre serveur est maintenant d\u00e9ploy\u00e9 avec succ\u00e8s sur Kinsta. Dans le menu de gauche, cliquez sur <strong>Domaines<\/strong> et copiez le domaine primaire. Il s&rsquo;agit du point d&rsquo;extr\u00e9mit\u00e9 de l&rsquo;URL de votre serveur.<\/p>\n<h2>Cr\u00e9er une application React pour afficher les probl\u00e8mes<\/h2>\n<p>Ensuite, vous utilisez React pour construire le frontend de votre application et CSS pour le styliser. Suivez les \u00e9tapes ci-dessous pour cr\u00e9er un projet React avec <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#react-with-vite\">Vite<\/a>:<\/p>\n<ol start=\"1\">\n<li>Cr\u00e9ez un nouveau projet React nomm\u00e9 <code>jira-todo<\/code> :\n<pre><code class=\"language-bash\">npx create-vite jira-todo --template react<\/code><\/pre>\n<\/li>\n<li>Naviguez jusqu&rsquo;au r\u00e9pertoire du projet et installez les d\u00e9pendances n\u00e9cessaires :\n<pre><code class=\"language-bash\">npm install<\/code><\/pre>\n<\/li>\n<li>D\u00e9marrez le serveur de d\u00e9veloppement :\n<pre><code class=\"language-bash\">npm run dev<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>R\u00e9cup\u00e9rer les probl\u00e8mes sur le serveur<\/h3>\n<ol start=\"1\">\n<li>Effacez le contenu du <strong>fichier App.jsx<\/strong> et ajoutez le code suivant :<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">function App() {\n\n  return (\n    &lt;div className=\"App\"&gt;\n      &lt;h1&gt;What's on my list today?&lt;\/h1&gt;\n      {\/* Display issues *\/}\n\n   &lt;\/div&gt;\n );\n}\n\nexport default App;<\/code><\/pre>\n<ol start=\"2\">\n<li>Avant de commencer \u00e0 r\u00e9cup\u00e9rer les questions, stockez l&rsquo;URL du serveur de Kinsta dans un fichier <strong>.env<\/strong> \u00e0 la racine du dossier de votre application :<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">VITE_SERVER_BASE_URL=\"your-hosted-url\"<\/code><\/pre>\n<ol start=\"3\">\n<li>Obtenez l&rsquo;URL dans <strong>App.jsx<\/strong> en ajoutant la ligne suivante au d\u00e9but du fichier :<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">const SERVER_BASE_URL=import.meta.env.VITE_SERVER_BASE_URL<\/code><\/pre>\n<ol start=\"4\">\n<li>Dans votre composant, cr\u00e9ez une fonction asynchrone nomm\u00e9e <code>fetchData<\/code> et faites une requ\u00eates GET au point de terminaison <code>\/issues\/all<\/code> sur le serveur Express. Une fois que vous avez re\u00e7u une r\u00e9ponse, analysez-la en tant que JSON et stockez les donn\u00e9es dans une valeur d&rsquo;\u00e9tat nomm\u00e9e <code>data<\/code>:<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">import { useCallback, useEffect, useState } from \"react\";\n\nfunction App() {\n  const SERVER_BASE_URL=import.meta.env.VITE_SERVER_BASE_URL\n\n  const [data, setData] = useState([]);\n  const fetchData = useCallback(async () =&gt; {\n    try {\n      const response = await fetch(`${SERVER_BASE_URL}\/issues\/all`);\n      if (!response.ok) {\n        throw new Error('Network response was not ok');\n     }\n      const data = await response.json();\n      \tsetData(data.issues);\n    } catch (error) {\n      console.error('Error fetching data:', error);\n  }\n     },[SERVER_BASE_URL]);\n\n  useEffect(() =&gt; {\n    \/\/ Fetch data when the component mounts\n    fetchData();\n     },[fetchData]);\n\n  return (\n    &lt;div className=\"App\"&gt;\n        &lt;h1&gt;What's on my list today?&lt;\/h1&gt;\n      \n    &lt;\/div&gt;\n  );\n}\n\nexport default App;<\/code><\/pre>\n<p>Notez que vous utilisez le hook <code>useEffect<\/code> pour ex\u00e9cuter la fonction <code>fetchData<\/code> lorsque le composant est mont\u00e9.<\/p>\n<h3>Afficher les probl\u00e8mes de Jira dans le navigateur<\/h3>\n<ol start=\"1\">\n<li>Maintenant, vous pouvez modifier l&rsquo;instruction de retour de votre composant pour it\u00e9rer sur les probl\u00e8mes et les lister dans le navigateur :<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">return (\n  &lt;div&gt;\n    &lt;h1&gt;What's on my list today?&lt;\/h1&gt;\n    &lt;section&gt;\n      \t{data && data.map(issue =&gt; {\n      \treturn &lt;div className=\"issues\" key={issue.id}&gt;\n        &lt;div&gt;\n         &lt;div&gt;{issue.summary}&lt;\/div&gt;\n          &lt;small&gt;{issue.deadline}&lt;\/small&gt;\n        &lt;\/div&gt;\n        &lt;div&gt;\n          &lt;div&gt; className=\"status\"&gt;{issue.status}&lt;\/div&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    })}\n    &lt;\/section&gt;\n  &lt;\/div&gt;\n);<\/code><\/pre>\n<ol start=\"2\">\n<li>Pour styliser cette application, ajoutez le code CSS suivant \u00e0 <strong>App.css<\/strong>:<\/li>\n<\/ol>\n<pre><code class=\"language-css\">h1 {\n    text-align: center;\n  font-size: 1.6rem;\n  margin-top: 1rem;\n}\nsection {\n  display: flex;\n  flex-direction: column;\n justify-content: center;\n  align-items: center;\n  margin-top: 2rem;\n }\n\n .issues {\n  display: flex;\n  min-width: 350px;\n  justify-content: space-between;\n  padding: 1rem;\n  background-color: #eee;\n  margin-bottom: 1rem;\n}\n\n small {\n  color: gray;\n}\n\n.status-btn {\n  padding: 4px;\n  border: 1px solid #000;\n  border-radius: 5px;\n}<\/code><\/pre>\n<ol start=\"3\">\n<li>Ensuite, importez <strong>App.css<\/strong> dans <strong>index.js<\/strong> pour appliquer les styles :<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">import '.\/App.css'<\/code><\/pre>\n<p>D\u00e9sormais, lorsque vous d\u00e9marrez votre application, vous devriez voir appara\u00eetre dans votre navigateur une liste des t\u00e2ches qui vous ont \u00e9t\u00e9 attribu\u00e9es, avec leur statut et leur \u00e9ch\u00e9ance :<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/jira-react-application.png\" alt=\"Liste des probl\u00e8mes Jira assign\u00e9s \u00e0 un utilisateur.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Liste des probl\u00e8mes Jira assign\u00e9s \u00e0 un utilisateur.<\/figcaption><\/figure>\n<h2>D\u00e9ployer votre application React sur Kinsta<\/h2>\n<p>Pour garder les choses simples, utilisez l&rsquo;<a href=\"https:\/\/docs.sevalla.com\/templates\/overview#react-with-vite#static-site-hosting\">h\u00e9bergement de site statique<\/a> de Kinsta pour d\u00e9ployer l&rsquo;application. L&rsquo;h\u00e9bergement de site statique de Kinsta aide \u00e0 construire vos sites en un site statique et d\u00e9ploie les fichiers statiques en garantissant une livraison rapide du contenu et un temps d&rsquo;arr\u00eat minimal.<\/p>\n<p>Cr\u00e9ez un d\u00e9p\u00f4t sur GitHub pour <a href=\"https:\/\/kinsta.com\/fr\/blog\/comment-pousser-code-github\/\">pousser votre code source<\/a>. Une fois que votre d\u00e9p\u00f4t est pr\u00eat, suivez ces \u00e9tapes pour d\u00e9ployer votre site statique sur Kinsta :<\/p>\n<ol start=\"1\">\n<li>Connectez-vous ou cr\u00e9ez un compte pour afficher votre tableau de bord MyKinsta.<\/li>\n<li>Autorisez Kinsta avec votre fournisseur Git.<\/li>\n<li>Cliquez sur <strong>Sites statiques<\/strong> dans la colonne lat\u00e9rale gauche, puis cliquez sur<strong> Ajouter un site<\/strong>.<\/li>\n<li>S\u00e9lectionnez le d\u00e9p\u00f4t et la branche \u00e0 partir desquels vous souhaitez d\u00e9ployer.<\/li>\n<li>Attribuez un nom unique \u00e0 votre site.<\/li>\n<li>MyKinsta d\u00e9tecte automatiquement les r\u00e9glages de construction pour ce projet React. Vous voyez les r\u00e9glages suivants pr\u00e9-remplis :\n<ul>\n<li><strong>Commande de construction :<\/strong> <code>npm run build<\/code><\/li>\n<li><strong>Version Node :<\/strong> <code>18.16.0<\/code><\/li>\n<li><strong>R\u00e9pertoire de publication :<\/strong> <code>dist<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"7\">\n<li>Ajoutez l&rsquo;URL de votre serveur comme variable d&rsquo;environnement en utilisant <code>VITE_SERVER_BASE_URL<\/code>.<\/li>\n<li>Enfin, cliquez sur <strong>Cr\u00e9er un site<\/strong>.<\/li>\n<\/ol>\n<p>Et le tour est jou\u00e9 ! Vous disposez maintenant d&rsquo;un site d\u00e9ploy\u00e9 en quelques secondes. Un lien est fourni pour acc\u00e9der \u00e0 la version d\u00e9ploy\u00e9e de votre site. Si vous naviguez vers le domaine de votre site, vous verrez une liste de probl\u00e8mes Jira. Vous pouvez par la suite ajouter votre <a href=\"https:\/\/docs.sevalla.com\/applications\/domains\">domaine personnalis\u00e9<\/a> et votre <a href=\"https:\/\/docs.sevalla.com\/applications\/domains#install-a-custom-ssl-certificate\">certificat SSL<\/a> si vous le souhaitez.<\/p>\n<p>Comme alternative \u00e0 l&rsquo;h\u00e9bergement de site statique, vous pouvez opter pour le d\u00e9ploiement de votre site statique avec l&rsquo;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">h\u00e9bergement d&rsquo;application<\/a> de Kinsta, qui offre une plus grande flexibilit\u00e9 d&rsquo;h\u00e9bergement, une plus large gamme d&rsquo;avantages et l&rsquo;acc\u00e8s \u00e0 des fonctionnalit\u00e9s plus robustes. Par exemple, l&rsquo;\u00e9volutivit\u00e9, le d\u00e9ploiement personnalis\u00e9 \u00e0 l&rsquo;aide d&rsquo;un fichier Docker et des <a href=\"https:\/\/docs.sevalla.com\/applications\/analytics\">analyses compl\u00e8tes<\/a> englobant des donn\u00e9es en temps r\u00e9el et historiques.<\/p>\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>Dans ce guide, vous avez appris \u00e0 cr\u00e9er une application Express pour r\u00e9cup\u00e9rer les probl\u00e8mes Jira assign\u00e9s \u00e0 l&rsquo;aide de l&rsquo;API Jira REST. En outre, vous avez connect\u00e9 une application frontend React \u00e0 votre application Express pour afficher ces probl\u00e8mes dans le navigateur.<\/p>\n<p>Cette application est une d\u00e9monstration rudimentaire de ce que vous pouvez r\u00e9aliser avec l&rsquo;API REST de Jira. Vous pouvez am\u00e9liorer votre application avec des fonctionnalit\u00e9s qui vous permettent de marquer les t\u00e2ches termin\u00e9es, d&rsquo;effectuer un filtrage avanc\u00e9, et bien plus encore.<\/p>\n<p>De plus, avec Kinsta, vous pouvez h\u00e9berger \u00e0 la fois votre serveur et votre site dans un seul tableau de bord en utilisant nos diff\u00e9rents services. <a href=\"https:\/\/kinsta.com\/fr\/\">D\u00e9couvrez l&rsquo;h\u00e9bergement web robuste de Kinsta<\/a> pour toutes vos applications.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jira est un outil de gestion de projet tr\u00e8s r\u00e9pandu qui vous aide \u00e0 assurer le suivi des t\u00e2ches au sein d&rsquo;un projet. Cependant, lorsque vous &#8230;<\/p>\n","protected":false},"author":199,"featured_media":74954,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[953,979,994,1004,980],"class_list":["post-74953","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-frameworks-javascript","topic-node-js","topic-react","topic-tutoriel-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l&#039;aide de l&#039;API Jira et de React<\/title>\n<meta name=\"description\" content=\"Apprenez \u00e0 g\u00e9rer efficacement les t\u00e2ches avec une liste de t\u00e2ches h\u00e9berg\u00e9e par Kinsta ! Ce guide s&#039;appuie sur l&#039;API Jira et React pour construire une application puissante !\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l&#039;aide de l&#039;API Jira et de React\" \/>\n<meta property=\"og:description\" content=\"Apprenez \u00e0 g\u00e9rer efficacement les t\u00e2ches avec une liste de t\u00e2ches h\u00e9berg\u00e9e par Kinsta ! Ce guide s&#039;appuie sur l&#039;API Jira et React pour construire une application puissante !\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-08T12:09:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-15T17:03:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Apprenez \u00e0 g\u00e9rer efficacement les t\u00e2ches avec une liste de t\u00e2ches h\u00e9berg\u00e9e par Kinsta ! Ce guide s&#039;appuie sur l&#039;API Jira et React pour construire une application puissante !\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l&rsquo;aide de l&rsquo;API Jira et de React\",\"datePublished\":\"2023-12-08T12:09:49+00:00\",\"dateModified\":\"2023-12-15T17:03:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/\"},\"wordCount\":2221,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/\",\"name\":\"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l'aide de l'API Jira et de React\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg\",\"datePublished\":\"2023-12-08T12:09:49+00:00\",\"dateModified\":\"2023-12-15T17:03:48+00:00\",\"description\":\"Apprenez \u00e0 g\u00e9rer efficacement les t\u00e2ches avec une liste de t\u00e2ches h\u00e9berg\u00e9e par Kinsta ! Ce guide s'appuie sur l'API Jira et React pour construire une application puissante !\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinsta.com\/fr\/sujets\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l&rsquo;aide de l&rsquo;API Jira et de React\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/fr\/#website\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/fr\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l'aide de l'API Jira et de React","description":"Apprenez \u00e0 g\u00e9rer efficacement les t\u00e2ches avec une liste de t\u00e2ches h\u00e9berg\u00e9e par Kinsta ! Ce guide s'appuie sur l'API Jira et React pour construire une application puissante !","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/","og_locale":"fr_FR","og_type":"article","og_title":"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l'aide de l'API Jira et de React","og_description":"Apprenez \u00e0 g\u00e9rer efficacement les t\u00e2ches avec une liste de t\u00e2ches h\u00e9berg\u00e9e par Kinsta ! Ce guide s'appuie sur l'API Jira et React pour construire une application puissante !","og_url":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2023-12-08T12:09:49+00:00","article_modified_time":"2023-12-15T17:03:48+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Apprenez \u00e0 g\u00e9rer efficacement les t\u00e2ches avec une liste de t\u00e2ches h\u00e9berg\u00e9e par Kinsta ! Ce guide s'appuie sur l'API Jira et React pour construire une application puissante !","twitter_image":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg","twitter_creator":"@kinsta_fr","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Jeremy Holcombe","Dur\u00e9e de lecture estim\u00e9e":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l&rsquo;aide de l&rsquo;API Jira et de React","datePublished":"2023-12-08T12:09:49+00:00","dateModified":"2023-12-15T17:03:48+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/"},"wordCount":2221,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg","inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/fr\/blog\/api-jira\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/","url":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/","name":"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l'aide de l'API Jira et de React","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg","datePublished":"2023-12-08T12:09:49+00:00","dateModified":"2023-12-15T17:03:48+00:00","description":"Apprenez \u00e0 g\u00e9rer efficacement les t\u00e2ches avec une liste de t\u00e2ches h\u00e9berg\u00e9e par Kinsta ! Ce guide s'appuie sur l'API Jira et React pour construire une application puissante !","breadcrumb":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/fr\/blog\/api-jira\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#primaryimage","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/jira-api-1.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/fr\/blog\/api-jira\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinsta.com\/fr\/sujets\/api\/"},{"@type":"ListItem","position":3,"name":"Cr\u00e9ez une liste de t\u00e2ches h\u00e9berg\u00e9e sur Kinsta \u00e0 l&rsquo;aide de l&rsquo;API Jira et de React"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/fr\/#website","url":"https:\/\/kinsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/fr\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/74953","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/comments?post=74953"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/74953\/revisions"}],"predecessor-version":[{"id":75131,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/74953\/revisions\/75131"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/74953\/translations\/en"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/74953\/translations\/nl"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/74953\/translations\/pt"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/74953\/translations\/it"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/74953\/translations\/de"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/74953\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/74953\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/74953\/translations\/es"},{"href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/74953\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media\/74954"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media?parent=74953"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/tags?post=74953"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/topic?post=74953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}