{"id":67768,"date":"2023-12-08T12:04:14","date_gmt":"2023-12-08T11:04:14","guid":{"rendered":"https:\/\/kinsta.com\/de\/?p=67768&#038;preview=true&#038;preview_id=67768"},"modified":"2023-12-18T16:45:46","modified_gmt":"2023-12-18T15:45:46","slug":"jira-api","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/jira-api\/","title":{"rendered":"Eine von Kinsta gehostete Aufgabenliste mit der Jira API und React erstellen"},"content":{"rendered":"<p>Jira ist ein beliebtes Projektmanagement-Tool, mit dem du den \u00dcberblick \u00fcber die Aufgaben in einem Projekt beh\u00e4ltst. Wenn du jedoch an einem gro\u00dfen Projekt arbeitest, kann dein Jira-Dashboard un\u00fcbersichtlich werden, wenn die Anzahl der Aufgaben und Teammitglieder steigt.<\/p>\n<p>Um dieses Problem zu l\u00f6sen, kannst du die <a href=\"https:\/\/developer.atlassian.com\/server\/jira\/platform\/rest-apis\/\" target=\"_blank\" rel=\"noopener noreferrer\">Jira REST API<\/a> nutzen, um eine vereinfachte To-Do-Liste zu erstellen, die deine zugewiesenen Aufgaben und deren Fristen anzeigt. Mit der API kannst du programmatisch mit Jira interagieren, um Aufgaben zu erstellen, abzurufen, zu aktualisieren und zu l\u00f6schen und auf Benutzerdaten und Projektdetails zuzugreifen.<\/p>\n<p>In diesem Tutorial lernst du, wie du eine To-Do-Listen-Anwendung mit <a href=\"https:\/\/docs.sevalla.com\/templates\/overview\">Node.js<\/a> als Server entwickelst, um Issues von deinem Jira-Konto abzurufen, und eine React-Anwendung erstellst, um sie anzuzeigen. Du lernst auch, wie du sowohl das Frontend als auch den Server auf Kinsta hostest.<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>Voraussetzungen<\/h2>\n<p>Um mitzumachen, brauchst du:<\/p>\n<ul>\n<li><a href=\"https:\/\/nodejs.org\/en\/download\/current\" target=\"_blank\" rel=\"noopener noreferrer\">Node.js<\/a> und den <a href=\"https:\/\/docs.npmjs.com\/downloading-and-installing-node-js-and-npm\" target=\"_blank\" rel=\"noopener noreferrer\">Node Package Manager<\/a> (npm), die auf deinem Entwicklungsrechner installiert sind.<\/li>\n<li>Ein <a href=\"https:\/\/www.atlassian.com\/software\/jira\" target=\"_blank\" rel=\"noopener noreferrer\">Jira-Konto<\/a>, um auf Aufgaben zuzugreifen.<\/li>\n<li>Ein solides Verst\u00e4ndnis von <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-node-js\/\">Node.js<\/a> und <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-react-js\/\">React<\/a>.<\/li>\n<\/ul>\n<h2>Wie du das Backend mit Node.js und Express aufbaust<\/h2>\n<p><a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-express-js\/\">Express<\/a> ist ein beliebtes Node.js-Framework, das eine optimierte Umgebung f\u00fcr die Entwicklung serverseitiger Anwendungen bietet. Express vereinfacht die Handhabung von Routen und erleichtert die Interaktion mit externen Ressourcen, wie APIs, Datenbanken und Frontend-Anwendungen.<\/p>\n<p>Befolge die folgenden Schritte, um den Server einzurichten:<\/p>\n<ol start=\"1\">\n<li>Erstelle ein neues Verzeichnis und navigiere zu ihm. Dann initialisiere Node.js, indem du den folgenden Befehl ausf\u00fchrst:\n<pre><code class=\"language-bash\">npm init -y<\/code><\/pre>\n<p>Dieser Befehl erstellt eine <strong>package.json-Datei<\/strong> mit den Standardeinstellungen im Stammverzeichnis deiner Anwendung.<\/li>\n<li>Als n\u00e4chstes installierst du alle notwendigen Abh\u00e4ngigkeiten f\u00fcr dein Projekt, indem du den folgenden Befehl ausf\u00fchrst:\n<pre><code class=\"language-bash\">npm install express dotenv axios<\/code><\/pre>\n<p>Mit dem obigen Befehl wird Folgendes installiert:<\/p>\n<ul>\n<li><code><a href=\"https:\/\/www.npmjs.com\/package\/express\" target=\"_blank\" rel=\"noopener noreferrer\">express<\/a><\/code> &#8211; Ein minimales Node.js-Framework zur Erstellung von APIs.<\/li>\n<li><code><a href=\"https:\/\/www.npmjs.com\/package\/dotenv\" target=\"_blank\" rel=\"noopener noreferrer\">dotenv<\/a><\/code> &#8211; Ein Modul, das <code>.env<\/code> Variablen auf <code>process.env<\/code> l\u00e4dt, damit du sicher auf sie zugreifen kannst.<\/li>\n<li><code><a href=\"https:\/\/www.npmjs.com\/package\/axios\" target=\"_blank\" rel=\"noopener noreferrer\">axios<\/a><\/code> &#8211; Ein auf Versprechen basierender HTTP-Client f\u00fcr Node.js. Du verwendest ihn, um API-Aufrufe an Jira zu t\u00e4tigen.<\/li>\n<\/ul>\n<\/li>\n<li>Nach erfolgreicher Installation erstellst du eine <strong>.env-Datei<\/strong> im Stammverzeichnis deines Projekts und f\u00fcgst die <code>PORT<\/code> Nummer hinzu:\n<pre><code class=\"language-bash\">PORT=3000<\/code><\/pre>\n<p>Dies ist die Portnummer, auf die der Server h\u00f6rt. Du kannst sie in einen Port deiner Wahl \u00e4ndern.<\/li>\n<li>Erstelle eine <strong>index.js-Datei<\/strong> im Stammverzeichnis deines Projekts und f\u00fcge den folgenden Code hinzu, um Express zu importieren, eine Instanz einer Express-Anwendung zu erstellen und deinen Server zu 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>F\u00fcge in deiner <strong>package.json<\/strong> Datei ein Skript hinzu, um deinen Server zu starten:\n<pre><code class=\"language-javascript\">\"scripts\": {\n   \"start\": \"node index\"\n  },<\/code><\/pre>\n<p>Jetzt kannst du das Startskript in deinem Terminal ausf\u00fchren:<\/p>\n<pre><code class=\"language-bash\">npm run start<\/code><\/pre>\n<p>Dieser Befehl startet deinen Server. Du solltest den folgenden Text im Terminal sehen:<\/p>\n<pre><code class=\"language-bash\">Server is running on port 3000<\/code><\/pre>\n<p>Wenn der Server l\u00e4uft, kannst du jetzt deine Jira-Anwendung konfigurieren.<\/li>\n<\/ol>\n<h3>So konfigurierst du eine Jira Anwendung<\/h3>\n<p>Um die Jira REST API zu nutzen, musst du ein Benutzerkonto bei deiner Jira Website authentifizieren. Die von dir erstellte To-Do-App-API verwendet eine einfache Authentifizierung mit einer Atlassian-Konto-E-Mail-Adresse und einem API-Token.<\/p>\n<p>Hier erf\u00e4hrst du, wie du es einrichtest:<\/p>\n<ol start=\"1\">\n<li>Erstelle ein <a href=\"https:\/\/www.atlassian.com\/software\/jira\" target=\"_blank\" rel=\"noopener noreferrer\">Jira-Konto<\/a> oder melde dich an, wenn du eines hast.<\/li>\n<li>Navigiere zum <a href=\"https:\/\/id.atlassian.com\/manage-profile\/security\/api-tokens\" target=\"_blank\" rel=\"noopener noreferrer\">Sicherheitsbereich<\/a> deines Atlassian-Profils und klicke auf <strong>API-Token erstellen<\/strong>.<\/li>\n<li>Gib im erscheinenden Dialog ein Label f\u00fcr dein Token ein (z.B. &#8222;jira-todo-list&#8220;) und klicke auf <strong>Erstellen<\/strong>.<\/li>\n<li>Kopiere das Token in deine Zwischenablage.<\/li>\n<li>Schlie\u00dflich speicherst du das API-Token in deiner <strong>.env-Datei<\/strong>:\n<pre><code class=\"bash\">JIRA_API_TOKEN=\"your-api-token\"<\/code><\/pre>\n<p>Jetzt kannst du mit der einfachen Authentifizierung auf die Jira-API zugreifen.<\/li>\n<\/ol>\n<h3>Einrichten von Routen zum Abrufen von Issues aus Jira<\/h3>\n<p>Jetzt hast du eine Jira-Anwendung konfiguriert. Richten wir nun Routen ein, um Issues von Jira in deinem Node.js Server zu holen.<\/p>\n<p>Um eine Anfrage an die Jira API zu stellen, musst du das Jira API-Token verwenden, das du in der <strong>.env-Datei<\/strong> gespeichert hast. Rufe das API-Token mit <code>process.env<\/code> ab und weise es einer Variablen namens <code>JIRA_API_TOKEN<\/code> in deiner <strong>index.js-Datei<\/strong> zu:<\/p>\n<pre><code class=\"language-javascript\">const JIRA_API_TOKEN = process.env.JIRA_API_TOKEN<\/code><\/pre>\n<p>Jetzt musst du die Endpunkt-URL f\u00fcr deine API-Anfrage festlegen. Diese URL enth\u00e4lt deine Jira-Dom\u00e4ne und eine <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)-Anweisung. Die Jira-Dom\u00e4ne bezieht sich auf die URL f\u00fcr deine Jira-Organisation und sieht aus wie <code>org.atlassian.net<\/code>, wobei <code>org<\/code> der Name deiner Organisation ist. JQL hingegen ist eine Abfragesprache f\u00fcr die Interaktion mit Issues in Jira.<\/p>\n<p>Beginne damit, die Jira-Dom\u00e4ne zur <strong>.env-Datei<\/strong> hinzuzuf\u00fcgen:<\/p>\n<pre><code class=\"bash\">JIRA_DOMAIN=\"your-jira-domain\"<\/code><\/pre>\n<p>Du musst auch deine Jira-E-Mail in der <strong>.env-Datei<\/strong> speichern, da sie f\u00fcr die Autorisierung bei einer Anfrage an Jira verwendet wird:<\/p>\n<pre><code class=\"language-bash\">JIRA_EMAIL=\"your-jira-email\"<\/code><\/pre>\n<p>Als N\u00e4chstes f\u00fcgst du beide Umgebungsvariablen hinzu und erstellst die Endpunkt-URL mithilfe der Domain und der folgenden JQL-Anweisung. Diese Abfrage filtert Fragen mit den Status &#8222;In Bearbeitung&#8220; oder &#8222;Zu erledigen&#8220; f\u00fcr den angemeldeten Benutzer und ordnet sie dann nach 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>Bevor du eine Route erstellst, musst du auch Axios in deine index.js-Datei importieren:<\/p>\n<pre><code class=\"language-javascript\">const axios = require(\"axios\")<\/code><\/pre>\n<p>Du kannst jetzt eine Route erstellen, die eine GET-Anfrage an die Jira API stellt und die Issues zur\u00fcckgibt. F\u00fcge in <strong>index.js<\/strong> den folgenden Code ein:<\/p>\n<pre><code class=\"language-javascript\">app.get('\/issues\/all', async (req, res) =&gt; {\n  })<\/code><\/pre>\n<p>Verwende nun die Methode <code>axios.get<\/code>, um eine GET-Anfrage an die Jira REST API zu stellen. Du erstellst den <code>Authorization<\/code> Header, indem du deine Jira-E-Mail und dein API-Token base64-encodierst:<\/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>Erwarte die Antwort von der Jira API und speichere sie in einer Variablen. Die Antwort enth\u00e4lt eine Eigenschaft namens <code>issues<\/code>, die ein Array von Issue-Objekten enth\u00e4lt:<\/p>\n<pre><code class=\"language-javascript\">const data = await response.json();\nconst { issues } = data;<\/code><\/pre>\n<p>Als N\u00e4chstes durchl\u00e4ufst du das Array <code>issues<\/code>, extrahierst nur die relevanten Informationen \u00fcber die Aufgaben und gibst sie als JSON-Antwort zur\u00fcck:<\/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>Wenn du eine Anfrage an <code>http:\/\/localhost:3000\/issues\/all<\/code> stellst, solltest du ein JSON-Objekt erhalten, das die Aufgaben enth\u00e4lt:<\/p>\n<pre><code class=\"language-bash\">curl localhost:3000\/issues\/all<\/code><\/pre>\n<p>Du kannst sogar noch weiter gehen, indem du einen Anbieter wie SendGrid und einen Cron-Job verwendest, um t\u00e4glich E-Mails mit den dir zugewiesenen Aufgaben zu versenden.<\/p>\n<h3>Hosten deiner Node.js-Anwendung auf Kinsta<\/h3>\n<p>Bevor du deine Anwendung auf Kinsta hostest, aktiviere das <a href=\"https:\/\/kinsta.com\/de\/blog\/node-js-bibliotheken\/#2-cors\">Cross-Origin Resource Sharing (CORS)<\/a>, um einen <code>access-control-allow-origin<\/code> Fehler zu vermeiden, da du das Backend und das Frontend auf unterschiedlichen Domains hostest. Um dies zu tun:<\/p>\n<ol start=\"1\">\n<li>Installiere das <a href=\"https:\/\/www.npmjs.com\/package\/cors\" target=\"_blank\" rel=\"noopener noreferrer\">npm-Paket cors<\/a>, indem du diesen Befehl in deinem Terminal ausf\u00fchrst:\n<pre><code class=\"language-bash\">npm install cors<\/code><\/pre>\n<\/li>\n<li>Importiere dann das Paket in <strong>index.js<\/strong>.\n<pre><code class=\"language-javascript\">const cors = require('cors')<\/code><\/pre>\n<\/li>\n<li>Als N\u00e4chstes konfigurierst du CORS als Middleware, um es f\u00fcr jede eingehende Anfrage zu aktivieren. F\u00fcge den folgenden Code am Anfang deiner <strong>index.js-Datei<\/strong> ein:\n<pre><code class=\"language-javascript\">app.use(cors());<\/code><\/pre>\n<p>Jetzt kannst du HTTP-Anfragen von einer anderen Domain an deinen Server senden, ohne dass CORS-Fehler auftreten.<\/li>\n<\/ol>\n<p>Als N\u00e4chstes pusht du deinen Code zu einem bevorzugten Git-Anbieter (<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> oder <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>) und befolgst die folgenden Schritte, um ihn zu hosten:<\/p>\n<ol start=\"1\">\n<li>Logge dich ein oder erstelle ein Konto, um dein <a href=\"https:\/\/my.kinsta.com\/?lang=de\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta-Dashboard<\/a> zu sehen.<\/li>\n<li>Autorisiere Kinsta bei deinem Git-Anbieter.<\/li>\n<li>Klicke in der linken Seitenleiste auf <strong>Anwendungen<\/strong> und dann auf <strong>Anwendung hinzuf\u00fcgen<\/strong>.<\/li>\n<li>W\u00e4hle das Repository und den Zweig aus, von dem aus du die Anwendung bereitstellen m\u00f6chtest.<\/li>\n<li>Gib deiner Anwendung einen eindeutigen Namen und w\u00e4hle den Standort deines <strong>Rechenzentrums<\/strong>.<\/li>\n<li>F\u00fcge die Umgebungsvariablen hinzu. Es ist nicht n\u00f6tig, den PORT als Umgebungsvariable hinzuzuf\u00fcgen, da Kinsta dies automatisch \u00fcbernimmt. Aktiviere die Kontrollk\u00e4stchen neben <strong>Available during runtime<\/strong> und <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=\"Kinsta-Anwendungs-Umgebungsvariablen\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Kinsta-Anwendungs-Umgebungsvariablen<\/figcaption><\/figure><\/li>\n<li>\u00dcberpr\u00fcfe die anderen Informationen (du kannst die Standardwerte beibehalten) und klicke auf <strong>Anwendung erstellen<\/strong>.<\/li>\n<\/ol>\n<p>Dein Server ist nun erfolgreich bei Kinsta installiert. Klicke im linken Men\u00fc auf <strong>Domains<\/strong> und kopiere die prim\u00e4re Domain. Dies ist der URL-Endpunkt deines Servers.<\/p>\n<h2>Erstelle eine React-Anwendung zur Anzeige der Issues<\/h2>\n<p>Als N\u00e4chstes verwendest du React, um das Frontend deiner Anwendung zu erstellen, und CSS, um sie zu gestalten. Befolge die folgenden Schritte, um ein React-Projekt mit <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#react-with-vite\">Vite<\/a> zu erstellen:<\/p>\n<ol start=\"1\">\n<li>Lege ein neues React-Projekt mit dem Namen <code>jira-todo<\/code> an:\n<pre><code class=\"language-bash\">npx create-vite jira-todo --template react<\/code><\/pre>\n<\/li>\n<li>Navigiere zu dem Projektverzeichnis und installiere die notwendigen Abh\u00e4ngigkeiten:\n<pre><code class=\"language-bash\">npm install<\/code><\/pre>\n<\/li>\n<li>Starte den Entwicklungsserver:\n<pre><code class=\"language-bash\">npm run dev<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>Issues vom Server abrufen<\/h3>\n<ol start=\"1\">\n<li>L\u00f6sche den Inhalt der <strong>App.jsx<\/strong> und f\u00fcge den folgenden Code hinzu:<\/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>Bevor du mit dem Abrufen der Ausgaben beginnst, speichere die Server-URL von Kinsta in einer <strong>.env-Datei<\/strong> im Stammverzeichnis deiner Anwendung:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">VITE_SERVER_BASE_URL=\"your-hosted-url\"<\/code><\/pre>\n<ol start=\"3\">\n<li>Hol dir die URL in <strong>App.jsx<\/strong>, indem du die folgende Zeile am Anfang der Datei hinzuf\u00fcgst:<\/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>Erstelle in deiner Komponente eine asynchrone Funktion namens <code>fetchData<\/code> und stelle eine GET-Anfrage an den Endpunkt <code>\/issues\/all<\/code> auf dem Express-Server. Sobald du eine Antwort erh\u00e4ltst, parse sie als JSON und speichere die Daten in einem Statuswert namens <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>Beachte, dass du den <code>useEffect<\/code> Hook verwendest, um die Funktion <code>fetchData<\/code> auszuf\u00fchren, wenn die Komponente gemountet wird.<\/p>\n<h3>Rendering der Issues aus Jira im Browser<\/h3>\n<ol start=\"1\">\n<li>Jetzt kannst du die R\u00fcckgabeanweisung deiner Komponente so \u00e4ndern, dass sie \u00fcber die Issues iteriert und sie im Browser auflistet:<\/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>Um diese Anwendung zu gestalten, f\u00fcge den folgenden CSS-Code zur <strong>App.css<\/strong> hinzu:<\/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>Importiere dann <strong>App.css<\/strong> in <strong>index.js<\/strong>, um die Stile anzuwenden:<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">import '.\/App.css'<\/code><\/pre>\n<p>Wenn du jetzt deine Anwendung startest, solltest du in deinem Browser eine Liste der dir zugewiesenen Aufgaben mit ihrem Status und ihrer Frist sehen:<\/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=\"Ein Screenshot der React-Anwendungsseite\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Liste der Jira-Aufgaben, die einem Benutzer zugewiesen sind<\/figcaption><\/figure>\n<h2>Bereitstellen deiner React-Anwendung auf Kinsta<\/h2>\n<p>Um die Dinge einfach zu halten, verwende das <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#react-with-vite#static-site-hosting\">Static Site Hosting<\/a> von Kinsta, um deine Anwendung bereitzustellen. Mit dem Static Site Hosting von Kinsta kannst du deine Websites in eine statische Website umwandeln und die statischen Dateien bereitstellen, um eine schnelle Bereitstellung der Inhalte und minimale Ausfallzeiten zu gew\u00e4hrleisten.<\/p>\n<p>Erstelle ein Repository auf GitHub, um <a href=\"https:\/\/kinsta.com\/de\/blog\/wie-man-code-auf-github-veroeffentlicht\/\">deinen Quellcode zu ver\u00f6ffentlichen<\/a>. Sobald dein Repository fertig ist, befolge diese Schritte, um deine statische Website auf Kinsta bereitzustellen:<\/p>\n<ol start=\"1\">\n<li>Logge dich ein oder erstelle ein Konto, um dein MyKinsta-Dashboard zu sehen.<\/li>\n<li>Autorisiere Kinsta mit deinem Git-Anbieter.<\/li>\n<li>Klicke in der linken Seitenleiste auf <strong>Statische Websites<\/strong> und dann auf <strong>Website hinzuf\u00fcgen<\/strong>.<\/li>\n<li>W\u00e4hle das Repository und den Zweig aus, von dem aus du bereitstellen m\u00f6chtest.<\/li>\n<li>Vergebe einen eindeutigen Namen f\u00fcr deine Website.<\/li>\n<li>MyKinsta erkennt die Build-Einstellungen f\u00fcr dieses React-Projekt automatisch. Die folgenden Einstellungen sind vorausgef\u00fcllt:\n<ul>\n<li><strong>Build-Befehl:<\/strong> <code>npm run build<\/code><\/li>\n<li><strong>Node-Version:<\/strong> <code>18.16.0<\/code><\/li>\n<li><strong>Verzeichnis ver\u00f6ffentlichen:<\/strong> <code>dist<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"7\">\n<li>F\u00fcge die URL deines Servers als Umgebungsvariable mit <code>VITE_SERVER_BASE_URL<\/code> hinzu.<\/li>\n<li>Zum Schluss klickst du auf <strong>Website erstellen<\/strong>.<\/li>\n<\/ol>\n<p>Und das war&#8217;s! Innerhalb weniger Sekunden hast du eine fertige Website. Du erh\u00e4ltst einen Link, \u00fcber den du auf die bereitgestellte Version deiner Website zugreifen kannst. Wenn du zur Domain deiner Website navigierst, siehst du eine Liste von Jira-Problemen. Du kannst sp\u00e4ter deine <a href=\"https:\/\/docs.sevalla.com\/applications\/domains\">eigene Domain<\/a> und dein <a href=\"https:\/\/docs.sevalla.com\/applications\/domains#install-a-custom-ssl-certificate\">SSL-Zertifikat<\/a> hinzuf\u00fcgen, wenn du m\u00f6chtest.<\/p>\n<p>Als Alternative zum Static Site Hosting kannst du dich f\u00fcr das <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Anwendungs-Hosting<\/a> von Kinsta entscheiden, das eine gr\u00f6\u00dfere Hosting-Flexibilit\u00e4t, eine breitere Palette von Vorteilen und den Zugang zu robusteren Funktionen bietet. Dazu geh\u00f6ren z. B. Skalierbarkeit, benutzerdefinierte Bereitstellung mithilfe eines Dockerfiles und <a href=\"https:\/\/docs.sevalla.com\/applications\/analytics\">umfassende Analysen<\/a>, die Echtzeit- und historische Daten umfassen.<\/p>\n<h2>Zusammenfassung<\/h2>\n<p>In diesem Leitfaden hast du gelernt, wie du eine Express-Anwendung erstellst, um zugewiesene Jira Issues \u00fcber die Jira REST API abzurufen. Au\u00dferdem hast du eine React-Frontend-Anwendung mit deiner Express-Anwendung verbunden, um diese Issues im Browser anzuzeigen.<\/p>\n<p>Diese App ist eine rudiment\u00e4re Demonstration dessen, was du mit der Jira REST API erreichen kannst. Du kannst deine Anwendung mit Funktionen erweitern, mit denen du erledigte Aufgaben markieren, erweiterte Filterfunktionen anwenden und vieles mehr.<\/p>\n<p>Au\u00dferdem kannst du mit Kinsta sowohl deinen Server als auch die Website in einem Dashboard hosten und unsere verschiedenen Dienste nutzen. Teste das robuste und flexible Webhosting <a href=\"https:\/\/kinsta.com\/de\/\">von Kinsta<\/a> f\u00fcr alle deine Anwendungen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jira ist ein beliebtes Projektmanagement-Tool, mit dem du den \u00dcberblick \u00fcber die Aufgaben in einem Projekt beh\u00e4ltst. Wenn du jedoch an einem gro\u00dfen Projekt arbeitest, kann &#8230;<\/p>\n","protected":false},"author":199,"featured_media":67769,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[925,951,952,965,975],"class_list":["post-67768","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>Eine Aufgabenliste mit der Jira API und React erstellen - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Lerne, wie du Aufgaben mit einer von Kinsta gehosteten Aufgabenliste effizient verwalten kannst! Diese Anleitung nutzt die Jira-API und React, um eine leistungsstarke Anwendung zu erstellen!\" \/>\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\/de\/blog\/jira-api\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Eine von Kinsta gehostete Aufgabenliste mit der Jira API und React erstellen\" \/>\n<meta property=\"og:description\" content=\"Lerne, wie du Aufgaben mit einer von Kinsta gehosteten Aufgabenliste effizient verwalten kannst! Diese Anleitung nutzt die Jira-API und React, um eine leistungsstarke Anwendung zu erstellen!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/jira-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-08T11:04:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-18T15:45:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/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=\"Lerne, wie du Aufgaben mit einer von Kinsta gehosteten Aufgabenliste effizient verwalten kannst! Diese Anleitung nutzt die Jira-API und React, um eine leistungsstarke Anwendung zu erstellen!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Eine von Kinsta gehostete Aufgabenliste mit der Jira API und React erstellen\",\"datePublished\":\"2023-12-08T11:04:14+00:00\",\"dateModified\":\"2023-12-18T15:45:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/\"},\"wordCount\":1849,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg\",\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/jira-api\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/\",\"name\":\"Eine Aufgabenliste mit der Jira API und React erstellen - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg\",\"datePublished\":\"2023-12-08T11:04:14+00:00\",\"dateModified\":\"2023-12-18T15:45:46+00:00\",\"description\":\"Lerne, wie du Aufgaben mit einer von Kinsta gehosteten Aufgabenliste effizient verwalten kannst! Diese Anleitung nutzt die Jira-API und React, um eine leistungsstarke Anwendung zu erstellen!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/jira-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/jira-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Eine von Kinsta gehostete Aufgabenliste mit der Jira API und React erstellen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"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\/de\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/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\/de\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Eine Aufgabenliste mit der Jira API und React erstellen - Kinsta\u00ae","description":"Lerne, wie du Aufgaben mit einer von Kinsta gehosteten Aufgabenliste effizient verwalten kannst! Diese Anleitung nutzt die Jira-API und React, um eine leistungsstarke Anwendung zu erstellen!","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\/de\/blog\/jira-api\/","og_locale":"de_DE","og_type":"article","og_title":"Eine von Kinsta gehostete Aufgabenliste mit der Jira API und React erstellen","og_description":"Lerne, wie du Aufgaben mit einer von Kinsta gehosteten Aufgabenliste effizient verwalten kannst! Diese Anleitung nutzt die Jira-API und React, um eine leistungsstarke Anwendung zu erstellen!","og_url":"https:\/\/kinsta.com\/de\/blog\/jira-api\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2023-12-08T11:04:14+00:00","article_modified_time":"2023-12-18T15:45:46+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Lerne, wie du Aufgaben mit einer von Kinsta gehosteten Aufgabenliste effizient verwalten kannst! Diese Anleitung nutzt die Jira-API und React, um eine leistungsstarke Anwendung zu erstellen!","twitter_image":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg","twitter_creator":"@Kinsta_DE","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Jeremy Holcombe","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Eine von Kinsta gehostete Aufgabenliste mit der Jira API und React erstellen","datePublished":"2023-12-08T11:04:14+00:00","dateModified":"2023-12-18T15:45:46+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/"},"wordCount":1849,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg","inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/jira-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/","url":"https:\/\/kinsta.com\/de\/blog\/jira-api\/","name":"Eine Aufgabenliste mit der Jira API und React erstellen - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg","datePublished":"2023-12-08T11:04:14+00:00","dateModified":"2023-12-18T15:45:46+00:00","description":"Lerne, wie du Aufgaben mit einer von Kinsta gehosteten Aufgabenliste effizient verwalten kannst! Diese Anleitung nutzt die Jira-API und React, um eine leistungsstarke Anwendung zu erstellen!","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/jira-api\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/jira-api.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/jira-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinsta.com\/de\/thema\/api\/"},{"@type":"ListItem","position":3,"name":"Eine von Kinsta gehostete Aufgabenliste mit der Jira API und React erstellen"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","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\/de\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/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\/de\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/67768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=67768"}],"version-history":[{"count":5,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/67768\/revisions"}],"predecessor-version":[{"id":67961,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/67768\/revisions\/67961"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/67768\/translations\/en"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/67768\/translations\/nl"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/67768\/translations\/pt"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/67768\/translations\/it"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/67768\/translations\/de"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/67768\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/67768\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/67768\/translations\/es"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/67768\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/67769"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=67768"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=67768"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=67768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}