{"id":57275,"date":"2023-12-08T12:01:16","date_gmt":"2023-12-08T11:01:16","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=57275&#038;preview=true&#038;preview_id=57275"},"modified":"2023-12-20T15:40:17","modified_gmt":"2023-12-20T14:40:17","slug":"jira-api","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/","title":{"rendered":"Een door Kinsta gehoste takenlijst maken met de Jira API en React"},"content":{"rendered":"<p>Jira is een populaire tool voor projectbeheer waarmee je taken binnen een project kunt bijhouden. Maar als je aan een groot project werkt, kan je Jira dashboard onoverzichtelijk worden naarmate het aantal taken en teamleden toeneemt.<\/p>\n<p>Om dit issue aan te pakken, kun je de <a href=\"https:\/\/developer.atlassian.com\/server\/jira\/platform\/rest-apis\/\" target=\"_blank\" rel=\"noopener noreferrer\">Jira REST API<\/a> gebruiken om een vereenvoudigde To-Do List applicatie te genereren die je toegewezen taken en hun deadlines weergeeft. Met de API kun je programmatisch communiceren met Jira om issues aan te maken, op te vragen, bij te werken en te verwijderen en om toegang te krijgen tot gebruikersgegevens en projectdetails.<\/p>\n<p>Deze tutorial helpt je bij het ontwikkelen van een takenlijst applicatie met <a href=\"https:\/\/docs.sevalla.com\/templates\/overview\">Node.js<\/a> als server om issues op te halen uit je Jira account en een React applicatie om ze weer te geven. Je leert ook hoe je zowel de frontend als de server naar Kinsta kunt hosten.<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>Vereisten<\/h2>\n<p>Om mee te kunnen doen, heb je nodig:<\/p>\n<ul>\n<li><a href=\"https:\/\/nodejs.org\/en\/download\/current\" target=\"_blank\" rel=\"noopener noreferrer\">Node.js<\/a> en <a href=\"https:\/\/docs.npmjs.com\/downloading-and-installing-node-js-and-npm\" target=\"_blank\" rel=\"noopener noreferrer\">Node Package Manager<\/a> (npm) ge\u00efnstalleerd op je ontwikkelmachine.<\/li>\n<li>Een <a href=\"https:\/\/www.atlassian.com\/software\/jira\" target=\"_blank\" rel=\"noopener noreferrer\">Jira account<\/a> voor toegang tot taken.<\/li>\n<li>Een goed begrip van <a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-is-node-js\/\">Node.js<\/a> en <a href=\"https:\/\/kinsta.com\/blog\/what-is-react-js\/\">React<\/a>.<\/li>\n<\/ul>\n<h2>De backend bouwen met Node.js en Express<\/h2>\n<p><a href=\"https:\/\/kinsta.com\/blog\/what-is-express-js\/\">Express<\/a> is een populair Node.js framework dat een gestroomlijnde omgeving biedt voor het bouwen van server-side applicaties. Express vereenvoudigt de afhandeling van routes en vergemakkelijkt interacties met externe bronnen, zoals API&#8217;s, databases en frontend applicaties.<\/p>\n<p>Volg de onderstaande stappen om de server in te stellen:<\/p>\n<ol start=\"1\">\n<li>Maak een nieuwe map aan en navigeer erheen. Initialiseer vervolgens Node.js door het onderstaande commando uit te voeren:\n<pre><code class=\"language-bash\">npm init -y<\/code><\/pre>\n<p>Dit commando maakt een <strong>package.json<\/strong> bestand aan met de standaardinstellingen in de root van de map van je app.<\/li>\n<li>Installeer vervolgens alle noodzakelijke dependencies voor je project door het volgende commando uit te voeren:\n<pre><code class=\"language-bash\">npm install express dotenv axios<\/code><\/pre>\n<p>Het bovenstaande commando installeert het volgende:<\/p>\n<ul>\n<li><code><a href=\"https:\/\/www.npmjs.com\/package\/express\" target=\"_blank\" rel=\"noopener noreferrer\">express<\/a><\/code> &#8211; Een minimaal Node.js framework voor het bouwen van API&#8217;s.<\/li>\n<li><code><a href=\"https:\/\/www.npmjs.com\/package\/dotenv\" target=\"_blank\" rel=\"noopener noreferrer\">dotenv<\/a><\/code> &#8211; Een module die <code>.env<\/code> variabelen naar <code>process.env<\/code> laadt zodat je ze veilig kunt gebruiken.<\/li>\n<li><code><a href=\"https:\/\/www.npmjs.com\/package\/axios\" target=\"_blank\" rel=\"noopener noreferrer\">axios<\/a><\/code> &#8211; Een op promises gebaseerde HTTP client voor Node.js. Je gebruikt het om API calls naar Jira te doen.<\/li>\n<\/ul>\n<\/li>\n<li>Zodra de installatie is gelukt, maak je een <strong>.env<\/strong> bestand aan in de root van je project en voeg je het <code>PORT<\/code> nummer toe:\n<pre><code class=\"language-bash\">PORT=3000<\/code><\/pre>\n<p>Dit is het poortnummer waar de server naar luistert. Je kunt het wijzigen in een poort naar keuze.<\/li>\n<li>Maak een <strong>index.js<\/strong> bestand in de hoofdmap van je project en voeg de volgende code toe om Express te importeren, een instantie van een Express applicatie te maken en je server te starten:\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>Voeg ten slotte in je <strong>package.json<\/strong> bestand een script toe om je server te starten:\n<pre><code class=\"language-javascript\">\"scripts\": {\n   \"start\": \"node index\"\n  },<\/code><\/pre>\n<p>Nu kun je het startscript in je terminal uitvoeren:<\/p>\n<pre><code class=\"language-bash\">npm run start<\/code><\/pre>\n<p>Dit commando start je server. Je zou de volgende tekst gelogd in de terminal moeten zien:<\/p>\n<pre><code class=\"language-bash\">Server is running on port 3000<\/code><\/pre>\n<p>Nu de server draait, kun je je Jira app configureren.<\/li>\n<\/ol>\n<h3>Een Jira app configureren<\/h3>\n<p>Om de Jira REST API te gebruiken, moet je een gebruikersaccount authenticeren met je Jira site. De to-do app API die je bouwt gebruikt basisverificatie met een Atlassian account e-mailadres en API token.<\/p>\n<p>Zo stel je dat in:<\/p>\n<ol start=\"1\">\n<li>Maak een <a href=\"https:\/\/www.atlassian.com\/software\/jira\" target=\"_blank\" rel=\"noopener noreferrer\">Jira account<\/a> aan of log in als je er al een hebt.<\/li>\n<li>Navigeer naar het <a href=\"https:\/\/id.atlassian.com\/manage-profile\/security\/api-tokens\" target=\"_blank\" rel=\"noopener noreferrer\">beveiligingsgedeelte<\/a> van je Atlassian profiel en klik op <strong>Create API token<\/strong>.<\/li>\n<li>Voer in het dialoogvenster dat verschijnt een Label in voor je token (bijvoorbeeld &#8220;jira-todo-lijst&#8221;) en klik op <strong>Create<\/strong>.<\/li>\n<li>Kopieer het token naar je klembord.<\/li>\n<li>Sla tot slot het API Token op in je <strong>.env<\/strong> bestand:\n<pre><code class=\"bash\">JIRA_API_TOKEN=\"your-api-token\"<\/code><\/pre>\n<p>Nu heb je toegang tot de Jira API met basisauthenticatie.<\/li>\n<\/ol>\n<h3>Routes instellen om issues op te halen uit Jira<\/h3>\n<p>Nu je een Jira applicatie hebt geconfigureerd. Laten we routes instellen om issues op te halen uit Jira in je Node.js server.<\/p>\n<p>Om een verzoek naar de Jira API te starten, moet je het Jira API token gebruiken dat je in het <strong>.env<\/strong> bestand hebt opgeslagen. Haal het API token op met <code>process.env<\/code> en wijs het toe aan een variabele met de naam <code>JIRA_API_TOKEN<\/code> in je <strong>index.js<\/strong> bestand:<\/p>\n<pre><code class=\"language-javascript\">const JIRA_API_TOKEN = process.env.JIRA_API_TOKEN<\/code><\/pre>\n<p>Nu moet je de URL van het endpoint defini\u00ebren voor je API verzoek. Deze URL bevat je Jira domein en een <a href=\"https:\/\/www.atlassian.com\/blog\/jira-software\/jql-the-most-flexible-way-to-search-jira-14\" target=\"_blank\" rel=\"noopener noreferrer\">Jira Query Language<\/a> (JQL) statement. Het Jira domein verwijst naar de URL van je Jira organisatie en ziet eruit als <code>org.atlassian.net<\/code>, waarbij <code>org<\/code> de naam van je organisatie is. JQL daarentegen is een querytaal voor interactie met issues in Jira.<\/p>\n<p>Begin met het toevoegen van het Jira domein aan het <strong>.env<\/strong> bestand:<\/p>\n<pre><code class=\"bash\">JIRA_DOMAIN=\"your-jira-domain\"<\/code><\/pre>\n<p>Je moet ook je Jira e-mail opslaan in het .<strong>env<\/strong> bestand, omdat dit wordt gebruikt voor autorisatie wanneer je een verzoek indient bij Jira:<\/p>\n<pre><code class=\"language-bash\">JIRA_EMAIL=\"your-jira-email\"<\/code><\/pre>\n<p>Voeg vervolgens beide omgevingsvariabelen toe en construeer de URL van het endpoint met behulp van het domein en het volgende JQL statement. Deze query filtert issues met de status &#8220;In progress&#8221; of &#8220;Te do&#8221; voor de ingelogde gebruiker en ordent ze vervolgens op status:<\/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>Voordat je een route aanmaakt, moet je ook Axios importeren in je index.js bestand:<\/p>\n<pre><code class=\"language-javascript\">const axios = require(\"axios\")<\/code><\/pre>\n<p>Je kunt nu een route maken die een GET verzoek naar de Jira API doet en de issues retourneert. Voeg in <strong>index.js<\/strong> de volgende code toe:<\/p>\n<pre><code class=\"language-javascript\">app.get('\/issues\/all', async (req, res) =&gt; {\n  })<\/code><\/pre>\n<p>Gebruik nu de methode <code>axios.get<\/code> om een GET verzoek te doen naar de Jira REST API. Je maakt de <code>Authorization<\/code> header door je Jira e-mail en API token te base64 encoderen:<\/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>Wacht op de respons van de Jira API en sla het op in een variabele. De respons bevat een propery genaamd <code>issues<\/code>, die een array van issue-objecten bevat:<\/p>\n<pre><code class=\"language-javascript\">const data = await response.json();\nconst { issues } = data;<\/code><\/pre>\n<p>Vervolgens itereer je over de <code>issues<\/code> array, extraheer je alleen de relevante informatie over de to-do items en retourneer je deze in een JSON respons:<\/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>Als je een verzoek doet aan <code>http:\/\/localhost:3000\/issues\/all<\/code>, zou je een JSON object moeten ontvangen dat de issues bevat:<\/p>\n<pre><code class=\"language-bash\">curl localhost:3000\/issues\/all<\/code><\/pre>\n<p>Je kunt zelfs nog een stap verder gaan door een provider als SendGrid en een cron job te gebruiken om dagelijks e-mails te versturen met de aan jou toegewezen taken.<\/p>\n<h3>Je Node.js applicatie hosten op Kinsta<\/h3>\n<p>Voordat je je applicatie op Kinsta host, moet je <a href=\"https:\/\/kinsta.com\/nl\/blog\/node-js-bibliotheken\/#2-cors\">Cross-Origin Resource Sharing (CORS)<\/a> inschakelen om een <code>access-control-allow-origin<\/code> fout te voorkomen omdat je de backend en de frontend op verschillende domeinen host. Om dit te doen:<\/p>\n<ol start=\"1\">\n<li>Installeer het <a href=\"https:\/\/www.npmjs.com\/package\/cors\" target=\"_blank\" rel=\"noopener noreferrer\">cors npm pakket<\/a> door dit commando in je terminal uit te voeren:\n<pre><code class=\"language-bash\">npm install cors<\/code><\/pre>\n<\/li>\n<li>Importeer het pakket vervolgens in <strong>index.js<\/strong>.\n<pre><code class=\"language-javascript\">const cors = require('cors')<\/code><\/pre>\n<\/li>\n<li>Configureer vervolgens CORS als middleware om het in te schakelen voor elk inkomend verzoek. Voeg de volgende code toe bovenaan je <strong>index.js<\/strong> bestand:\n<pre><code class=\"language-javascript\">app.use(cors());<\/code><\/pre>\n<p>Je kunt nu HTTP verzoeken naar je server sturen vanaf een ander domein zonder CORS fouten tegen te komen.<\/li>\n<\/ol>\n<p>Vervolgens push je je code naar een Git provider van je voorkeur <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> of <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>) en volg je onderstaande stappen om het te hosten:<\/p>\n<ol start=\"1\">\n<li>Log in of maak een account aan om je <a href=\"https:\/\/my.kinsta.com\/?lang=nl\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta<\/a> dashboard te bekijken.<\/li>\n<li>Autoriseer Kinsta met je Git provider.<\/li>\n<li>Klik op <strong>Applicaties <\/strong>in de linker zijbalk, klik dan op <strong>Applicatie toevoegen<\/strong>.<\/li>\n<li>Selecteer de repository en de branch waarvan je wilt deployen.<\/li>\n<li>Geef je app een unieke naam en kies een <strong>datacenterlocatie<\/strong>.<\/li>\n<li>Voeg de omgevingsvariabelen toe. Het is niet nodig om de PORT als omgevingsvariabele toe te voegen, omdat Kinsta dit automatisch afhandelt. Vink de vakjes aan naast <strong>Beschikbaar tijdens runtime<\/strong> en <strong>Beschikbaar tijdens bouwproces<\/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=\"Een formulier voor het toevoegen van sleutelwaardeparen van omgevingsvariabelen\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Kinsta app omgevingsvariabelen.<\/figcaption><\/figure><\/li>\n<li>Controleer de overige informatie (je kunt de standaardwaarden laten staan) en klik op <strong>Applicatie maken<\/strong>.<\/li>\n<\/ol>\n<p>Je server is nu succesvol gedeployd op Kinsta. Klik in het linkermenu op <strong>Domeinen<\/strong> en kopieer het primaire domein. Dit is het URL endpoint van je server.<\/p>\n<h2>Een React applicatie maken om de issues weer te geven<\/h2>\n<p>Vervolgens gebruik je React om de frontend van je app te bouwen en CSS om deze te stylen. Volg de onderstaande stappen om een React project te maken met <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#react-with-vite\">Vite<\/a>:<\/p>\n<ol start=\"1\">\n<li>Maak een nieuw React project met de naam <code>jira-todo<\/code>:\n<pre><code class=\"language-bash\">npx create-vite jira-todo --template react<\/code><\/pre>\n<\/li>\n<li>Navigeer naar de projectmap en installeer de benodigde dependencies:\n<pre><code class=\"language-bash\">npm install<\/code><\/pre>\n<\/li>\n<li>Start de ontwikkelserver:\n<pre><code class=\"language-bash\">npm run dev<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>Issues ophalen van de server<\/h3>\n<ol start=\"1\">\n<li>Wis de inhoud in <strong>App.jsx<\/strong> en voeg de volgende code toe:<\/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>Voordat je begint met het ophalen van de issues, sla je de server URL van Kinsta op in een <strong>.env<\/strong> bestand in de root van de map van je app:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">VITE_SERVER_BASE_URL=\"your-hosted-url\"<\/code><\/pre>\n<ol start=\"3\">\n<li>Haal de URL op in <strong>App.jsx<\/strong> door de volgende regel bovenaan het bestand toe te voegen:<\/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>Maak in je component een async functie met de naam <code>fetchData<\/code> en doe een GET verzoek naar het <code>\/issues\/all<\/code> endpoint op de Express server. Zodra je een antwoord hebt ontvangen, parse je het als JSON en sla je de gegevens op in een statuswaarde met de naam <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>Merk op dat je de <code>useEffect<\/code> hook gebruikt om de <code>fetchData<\/code> functie uit te voeren wanneer het component mount.<\/p>\n<h3>De issues vanuit Jira weergeven in de browser<\/h3>\n<ol start=\"1\">\n<li>Nu kun je het return statement van je component aanpassen om de issues te itereren en ze in de browser te tonen:<\/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>Om deze toepassing te stijlen, voeg je de volgende CSS code toe aan <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>Importeer vervolgens <strong>App.css<\/strong> in <strong>index.js<\/strong> om de stijlen toe te passen:<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">import '.\/App.css'<\/code><\/pre>\n<p>Als je nu je applicatie start, zou je een lijst met aan jou toegewezen taken met hun status en deadline in je browser moeten zien:<\/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=\"Lijst met Jira taken die aan een gebruiker zijn toegewezen.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Lijst met Jira taken die aan een gebruiker zijn toegewezen.<\/figcaption><\/figure>\n<h2>Je React applicatie deployen op Kinsta<\/h2>\n<p>Om het eenvoudig te houden, gebruik je Kinsta&#8217;s <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#react-with-vite#static-site-hosting\">Statische Site Hosting<\/a> om de applicatie te deployen. Kinsta&#8217;s Statische Site Hosting helpt bij het bouwen van je sites tot een statische site en deployt de statische bestanden om een snelle levering van content en minimale downtime te garanderen.<\/p>\n<p>Maak een repository aan op GitHub om <a href=\"https:\/\/kinsta.com\/nl\/blog\/zo-push-je-code-naar-github\/\">je sourcecode te pushen<\/a>. Zodra je repo klaar is, volg je deze stappen om je statische site te deployen naar Kinsta:<\/p>\n<ol start=\"1\">\n<li>Log in of maak een account aan om je MyKinsta dashboard te bekijken.<\/li>\n<li>Autoriseer Kinsta met je Git provider.<\/li>\n<li>Klik op <strong>Statische sites<\/strong> op de linker zijbalk, klik dan op <strong>Site toevoegen<\/strong>.<\/li>\n<li>Selecteer de repository en de branch waarvan je wilt deployen.<\/li>\n<li>Geef je site een unieke naam.<\/li>\n<li>MyKinsta detecteert automatisch de bouwinstellingen voor dit React project. Je ziet de volgende instellingen al ingevuld:\n<ul>\n<li><strong>Build commando:<\/strong> <code>npm run build<\/code><\/li>\n<li><strong>Node versie:<\/strong> <code>18.16.0<\/code><\/li>\n<li><strong>Publish directory:<\/strong> <code>dist<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"7\">\n<li>Voeg de URL van je server toe als omgevingsvariabele met <code>VITE_SERVER_BASE_URL<\/code>.<\/li>\n<li>Klik ten slotte op <strong>Site maken<\/strong>.<\/li>\n<\/ol>\n<p>En dat is het! Je hebt nu binnen een paar seconden een gedeployde site. Er wordt een link gegeven om toegang te krijgen tot de gedeployde versie van je site. Als je naar het domein van je site navigeert, zie je een lijst met Jira issues. Je kunt later je <a href=\"https:\/\/docs.sevalla.com\/applications\/domains\">eigen domein<\/a> en <a href=\"https:\/\/docs.sevalla.com\/applications\/domains#install-a-custom-ssl-certificate\">SSL certificaat<\/a> toevoegen als je dat wilt.<\/p>\n<p>Als alternatief voor Static Site Hosting kun je ervoor kiezen om je statische site te deployen met Kinsta&#8217;s <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Applicatie Hosting<\/a>, dat een grotere hostingflexibiliteit, een breder scala aan voordelen en toegang tot robuustere functies biedt. Bijvoorbeeld schaalbaarheid, custom deployments met behulp van een Dockerfile en <a href=\"https:\/\/docs.sevalla.com\/applications\/analytics\">uitgebreide analyses<\/a> met real-time en historische gegevens.<\/p>\n<h2>Samenvatting<\/h2>\n<p>In deze handleiding heb je geleerd hoe je een Express app maakt om toegewezen Jira issues op te halen met behulp van de Jira REST API. Daarnaast heb je een React frontend applicatie aan je Express applicatie gekoppeld om deze issues in de browser weer te geven.<\/p>\n<p>Deze app is een simpele demonstratie van wat je kunt bereiken met Jira REST API. Je kunt je app uitbreiden met functionaliteit waarmee je voltooide taken kunt markeren, geavanceerde filtering kunt uitvoeren en nog veel meer.<\/p>\n<p>Met Kinsta kun je bovendien zowel je server als de site hosten in \u00e9\u00e9n dashboard met behulp van onze verschillende services. <a href=\"https:\/\/kinsta.com\/nl\/\">Bekijk Kinsta&#8217;s<\/a> solide, flexibele webhosting voor al je applicaties.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jira is een populaire tool voor projectbeheer waarmee je taken binnen een project kunt bijhouden. Maar als je aan een groot project werkt, kan je Jira &#8230;<\/p>\n","protected":false},"author":199,"featured_media":57276,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[911,847,848,860,871],"class_list":["post-57275","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-javascript-frameworks","topic-javascript-tutorials","topic-node-js","topic-react"],"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>Een door Kinsta gehoste takenlijst maken met de Jira API en React<\/title>\n<meta name=\"description\" content=\"Leer hoe je taken effici\u00ebnt kunt beheren met een door Kinsta gehoste takenlijst! Deze handleiding maakt gebruik van de Jira API en React om een krachtige app te bouwen!\" \/>\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\/nl\/blog\/jira-api\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Een door Kinsta gehoste takenlijst maken met de Jira API en React\" \/>\n<meta property=\"og:description\" content=\"Leer hoe je taken effici\u00ebnt kunt beheren met een door Kinsta gehoste takenlijst! Deze handleiding maakt gebruik van de Jira API en React om een krachtige app te bouwen!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-08T11:01:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-20T14:40:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.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=\"Leer hoe je taken effici\u00ebnt kunt beheren met een door Kinsta gehoste takenlijst! Deze handleiding maakt gebruik van de Jira API en React om een krachtige app te bouwen!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Een door Kinsta gehoste takenlijst maken met de Jira API en React\",\"datePublished\":\"2023-12-08T11:01:16+00:00\",\"dateModified\":\"2023-12-20T14:40:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/\"},\"wordCount\":1931,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/\",\"name\":\"Een door Kinsta gehoste takenlijst maken met de Jira API en React\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg\",\"datePublished\":\"2023-12-08T11:01:16+00:00\",\"dateModified\":\"2023-12-20T14:40:17+00:00\",\"description\":\"Leer hoe je taken effici\u00ebnt kunt beheren met een door Kinsta gehoste takenlijst! Deze handleiding maakt gebruik van de Jira API en React om een krachtige app te bouwen!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Een door Kinsta gehoste takenlijst maken met de Jira API en React\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/nl\/#website\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"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\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/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\/nl\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Een door Kinsta gehoste takenlijst maken met de Jira API en React","description":"Leer hoe je taken effici\u00ebnt kunt beheren met een door Kinsta gehoste takenlijst! Deze handleiding maakt gebruik van de Jira API en React om een krachtige app te bouwen!","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\/nl\/blog\/jira-api\/","og_locale":"nl_NL","og_type":"article","og_title":"Een door Kinsta gehoste takenlijst maken met de Jira API en React","og_description":"Leer hoe je taken effici\u00ebnt kunt beheren met een door Kinsta gehoste takenlijst! Deze handleiding maakt gebruik van de Jira API en React om een krachtige app te bouwen!","og_url":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2023-12-08T11:01:16+00:00","article_modified_time":"2023-12-20T14:40:17+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Leer hoe je taken effici\u00ebnt kunt beheren met een door Kinsta gehoste takenlijst! Deze handleiding maakt gebruik van de Jira API en React om een krachtige app te bouwen!","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg","twitter_creator":"@Kinsta_NL","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Jeremy Holcombe","Geschatte leestijd":"11 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Een door Kinsta gehoste takenlijst maken met de Jira API en React","datePublished":"2023-12-08T11:01:16+00:00","dateModified":"2023-12-20T14:40:17+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/"},"wordCount":1931,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg","inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/jira-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/","url":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/","name":"Een door Kinsta gehoste takenlijst maken met de Jira API en React","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg","datePublished":"2023-12-08T11:01:16+00:00","dateModified":"2023-12-20T14:40:17+00:00","description":"Leer hoe je taken effici\u00ebnt kunt beheren met een door Kinsta gehoste takenlijst! Deze handleiding maakt gebruik van de Jira API en React om een krachtige app te bouwen!","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/jira-api\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/jira-api.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/jira-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/api\/"},{"@type":"ListItem","position":3,"name":"Een door Kinsta gehoste takenlijst maken met de Jira API en React"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/nl\/#website","url":"https:\/\/kinsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","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\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/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\/nl\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/57275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=57275"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/57275\/revisions"}],"predecessor-version":[{"id":57473,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/57275\/revisions\/57473"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57275\/translations\/en"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57275\/translations\/nl"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57275\/translations\/pt"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57275\/translations\/it"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57275\/translations\/de"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57275\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57275\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57275\/translations\/es"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57275\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/57276"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=57275"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=57275"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=57275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}