Programmierung
Radzivon Alkhovik
Low-Code-Automatisierungs-Enthusiast
23. Juli 2024
Eine Low-Code-Plattform, die die Einfachheit von No-Code mit der Leistung von Full-Code verbindet 🚀
Jetzt kostenlos starten
23. Juli 2024
8
min lesen

Was ist die Jira REST API: So nutzen Sie die REST API und sichern den Jira API-Schlüssel

Radzivon Alkhovik
Low-Code-Automatisierungs-Enthusiast
Inhaltsverzeichnis

Jira, Atlassians vielseitige Problemverfolgungs- und Projektmanagementplattform, ist für zahllose Entwicklungsteams weltweit zu einem unverzichtbaren Tool geworden. Während die benutzerfreundliche Oberfläche die Verwaltung von Projekten und die Verfolgung von Problemen erleichtert, liegt Jiras wahre Stärke in seinen umfangreichen Anpassungsoptionen und Integrationsmöglichkeiten. Im Mittelpunkt steht dabei die Jira REST API, die eine Welt voller Möglichkeiten zur Automatisierung von Aufgaben, zum Erstellen benutzerdefinierter Apps und zur nahtlosen Integration von Jira in andere Tools in Ihrem Entwicklungsökosystem eröffnet. In diesem umfassenden Leitfaden tauchen wir tief in die Jira REST API ein, erkunden ihre Funktionen und gehen praktische Beispiele durch, um Ihnen den Einstieg zu erleichtern.

Die zentralen Thesen: Die Jira REST API ist ein vielseitiges Tool zum Automatisieren von Aufgaben, Erstellen benutzerdefinierter Apps und Integrieren von Jira mit anderen Entwicklungstools in Cloud- und Server-/Data-Center-Versionen. Sie bietet eine breite Palette an Funktionen, darunter Problemverwaltung, Massenvorgänge und benutzerdefinierte Berichte, mit Unterstützung für erweiterte Funktionen wie Seitennummerierung und Datenerweiterung. Obwohl es einige Unterschiede zwischen den Versionen gibt, bleibt die Kernfunktionalität der API konsistent, sodass Teams Jira effizient an ihre spezifischen Anforderungen anpassen und nahtlos in ihr Entwicklungsökosystem integrieren können.

Sie können Jira ohne Verwendung der API auf Latenode ausprobieren

Was ist die Jira-API?

Im Kern ist eine API (Application Programming Interface) eine Reihe von Protokollen und Tools, die festlegen, wie Softwarekomponenten interagieren sollen. Im Kontext von Jira ermöglicht die API externen Anwendungen die programmgesteuerte Interaktion mit Jira und ermöglicht das Abrufen und Bearbeiten von Daten sowie die Ausführung von Aktionen innerhalb von Jira. Jira bietet zwei Arten von APIs:

Was ist Java API

Die Jira Java API ist ein leistungsstarkes Tool für Entwickler, die benutzerdefinierte Jira-Anwendungen oder -Plugins erstellen. Sie bietet direkten Zugriff auf die zugrunde liegenden Java-Objekte und -Methoden des Jira-Servers und ermöglicht so eine umfassende Integration und Anpassung. Diese Zugriffsebene ist jedoch nur für Jira-Installationen vor Ort (Server oder Data Center) verfügbar, bei denen Sie direkten Zugriff auf den Server haben. Wenn Sie mit Jira Cloud arbeiten oder eine eigenständige Integration erstellen, ist die REST-API die richtige Wahl.

Was ist REST-API

REST (Representational State Transfer) ist ein Architekturstil, der eine Reihe von Einschränkungen für die Erstellung von Webdiensten definiert. Eine REST-API stellt eine Reihe von HTTP-Endpunkten bereit, auf die durch Senden von Anfragen mit bestimmten HTTP-Methoden (GET, POST, PUT, DELETE) zugegriffen werden kann, um Vorgänge an Ressourcen auszuführen.

Die Jira REST API folgt dieser Architektur und bietet einen umfassenden Satz von Endpunkten zur Interaktion mit nahezu jedem Aspekt von Jira, von Problemen und Projekten bis hin zu agilen Boards und Dashboards. Sie gibt Daten im JSON-Format zurück und unterstützt eine Vielzahl von Authentifizierungsmethoden, um einen sicheren Zugriff zu gewährleisten.

Einer der Hauptvorteile der REST-API ist ihre Plattformunabhängigkeit – Sie können die API von jedem Gerät oder jeder Anwendung aus aufrufen, die HTTP-Anfragen stellen kann, unabhängig von der verwendeten Programmiersprache. Dies macht sie zur idealen Wahl für den Aufbau von Integrationen zwischen Jira und anderen Tools oder für die Skripterstellung von Interaktionen mit Jira über die Befehlszeile.

Was können Sie mit der Jira REST API tun?

Die Möglichkeiten sind nahezu unbegrenzt. Hier sind nur einige Beispiele dafür, was Sie mit der Jira REST API erreichen können:

  • Automatisieren Sie die Problemerstellung: Integrieren Sie Jira in Ihr Fehlerverfolgungssystem oder Kundensupporttool, um beim Auftreten bestimmter Ereignisse automatisch Probleme in Jira zu erstellen, komplett mit allen relevanten Details.
  • Daten zwischen Systemen synchronisieren: Halten Sie Jira mit anderen Tools in Ihrer Entwicklungspipeline synchron, z. B. Quellcodeverwaltungssystemen, CI/CD-Tools oder Testmanagement-Suiten. Mit der API können Sie Änderungen in Jira in andere Systeme übertragen und umgekehrt.
  • Massenoperationen: Müssen Sie eine große Anzahl von Problemen gleichzeitig aktualisieren? Die REST-API unterstützt Massenerstellungs-, Aktualisierungs- und Löschvorgänge und erspart Ihnen so zahllose Stunden manueller Arbeit.
  • Benutzerdefinierte Dashboards und Berichte: Rufen Sie Daten aus Jira ab und verwenden Sie sie zum Erstellen benutzerdefinierter Dashboards, Berichte oder Datenvisualisierungen, die auf die spezifischen Anforderungen Ihres Teams zugeschnitten sind.
  • Erweitern Sie die Funktionalität von Jira: Erstellen Sie benutzerdefinierte Apps und Integrationen, die die Funktionen von Jira erweitern, neue Funktionen hinzufügen oder die Arbeitsabläufe Ihres Unternehmens optimieren.
  • Daten migrieren: Wechseln Sie von einem anderen Problemverfolgungssystem zu Jira? Verwenden Sie die API, um Ihre vorhandenen Daten programmgesteuert in Jira zu importieren.
  • Backup und Archiv: Richten Sie Skripte ein, um Ihre Jira-Daten regelmäßig zu sichern oder alte Projekte und Probleme zu archivieren.

Dies sind nur einige Beispiele – die Jira REST API bietet eine umfangreiche Reihe von Endpunkten, die nahezu alle Features und Funktionen der Jira-Benutzeroberfläche abdecken. Wenn Sie es in Jira tun können, können Sie es höchstwahrscheinlich auch über die API tun.

Wichtige Unterschiede zwischen der Jira Cloud REST API und der Data Center REST API

Obwohl die Jira REST API in Jira Cloud, Server und Data Center weitgehend dieselben Funktionen bietet, gibt es ein paar wichtige Unterschiede, die Sie beachten sollten:

  • Authentifizierung: Jira Cloud verwendet OAuth 2.0 oder API-Token zur Authentifizierung und bietet damit eine sichere und standardbasierte Methode zum Gewähren des Zugriffs auf die API. Jira Data Center hingegen verwendet hauptsächlich eine grundlegende Authentifizierung oder Sitzungscookies.
  • API-Versionierung: Die Jira Cloud REST API ist versioniert (derzeit Version 3), sodass Atlassian die API im Laufe der Zeit weiterentwickeln und verbessern kann, ohne vorhandene Integrationen zu beeinträchtigen. Jira Data Center verfügt jedoch nicht über eine explizite Versionierung – die API ist an die jeweilige Jira-Version gebunden.
  • Rate Limiting: Um eine faire Nutzung zu gewährleisten und die Leistung aufrechtzuerhalten, erzwingt Jira Cloud im Vergleich zu Data Center strengere Ratenbegrenzungen für API-Anfragen. Integrationen müssen unter Berücksichtigung dieser Begrenzungen entwickelt werden und entsprechende Drosselung und Fehlerbehandlung implementieren.
  • URL-Format: Die Endpunkt-URLs für die REST-API unterscheiden sich zwischen Cloud und Data Center geringfügig. Für Jira Cloud hat die Basis-URL das Format https://your-domain.atlassian.net/rest/api/3/, während sie für Data Center https://your-jira-instance.com/rest/api/latest/ lautet.

Trotz dieser Unterschiede bleiben die Kernkonzepte und Nutzungsmuster der REST-API in allen Bereitstellungen weitgehend gleich. Die Fähigkeiten und Kenntnisse, die Sie bei der Arbeit mit einer Version der API erwerben, lassen sich problemlos auf andere übertragen.

Was benötigen Sie, um mit der Jira REST API zu arbeiten?

Um mit der Jira REST API zu beginnen, benötigen Sie:

  • Eine Jira-Instanz: Dies kann eine Jira Cloud-Site oder eine selbstgehostete Jira Server- oder Data Center-Instanz sein. Sie benötigen Administratorzugriff, um Ihre API-Integrationen einzurichten und zu verwalten.
  • Authentifizierungsdaten: Abhängig von Ihrer Jira-Bereitstellung kann dies ein OAuth 2.0-Token, ein API-Token oder grundlegende Authentifizierungsdaten (Benutzername und Kennwort) sein.
  • API-Client: Um HTTP-Anfragen an die API zu stellen, benötigen Sie einen API-Client. Dies kann ein dediziertes API-Testtool wie Postman, ein Befehlszeilentool wie cURL oder die HTTP-Bibliothek in der Programmiersprache Ihrer Wahl sein (z. B. die Requests-Bibliothek von Python oder die Fetch-API von JavaScript).
  • Referenz der Jira API-Dokumentation: Atlassian stellt eine umfassende Dokumentation für die Jira REST API bereit, in der jeder Endpunkt, seine Parameter sowie Beispiele für Anfragen und Antworten detailliert beschrieben werden. Halten Sie diese Dokumentation griffbereit, während Sie die API erkunden.

Wenn diese Elemente vorhanden sind, können Sie mit Ihren ersten API-Anfragen beginnen.

So verwenden Sie die Jira REST-API 

Sehen wir uns ein praktisches Beispiel für die Verwendung der Jira REST API zum Erstellen, Abrufen, Aktualisieren und Suchen von Problemen an. Wir verwenden für unsere Beispiele Postman, aber die Prinzipien gelten für jeden API-Client.

Schritt 1: Erstellen Sie ein Jira Cloud-Konto

Wenn Sie noch keine Jira-Instanz haben, mit der Sie arbeiten können, können Sie am einfachsten loslegen, indem Sie sich für eine kostenlose Jira Cloud-Instanz anmelden unter https://www.atlassian.com/software/jira. Sobald Ihre Site eingerichtet ist, erstellen Sie ein neues Projekt, mit dem Sie arbeiten können.

Schritt 2: Generieren Sie ein Jira API-Token

Zur Authentifizierung unserer API-Anfragen verwenden wir ein API-Token. So generieren Sie eines:

  1. Melden Sie sich bei Ihrem Atlassian-Konto an und navigieren Sie zu https://id.atlassian.com/manage-profile/security/api-tokens.
  2. Klicken Sie auf „API-Token erstellen“, geben Sie Ihrem Token eine beschreibende Bezeichnung und klicken Sie auf „Erstellen“.
  1. Kopieren Sie das generierte Token und bewahren Sie es sicher auf. Sie können es nach Verlassen dieser Seite nicht mehr anzeigen.

Schritt 3: Stellen Sie Ihre erste API-Anfrage mit Postman

Beginnen wir mit dem Abrufen der Details eines bestehenden Problems:

  1. Öffnen Sie Postman und erstellen Sie eine neue Anfrage.
  2. Stellen Sie die HTTP-Methode auf GET ein und geben Sie die URL für den Endpunkt mit den Problemdetails ein. Ersetzen Sie dabei „your-domain“ durch die Domäne Ihrer Jira-Site und „ISSUE-KEY“ durch den Schlüssel eines Problems in Ihrem Projekt: https://your-domain.atlassian.net/rest/api/3/issue/ISSUE-KEY.
  3. Wählen Sie unter der Registerkarte „Autorisierung“ als Typ „Basisauthentifizierung“ aus. Geben Sie als Benutzernamen die E-Mail-Adresse Ihres Atlassian-Kontos ein und fügen Sie als Passwort Ihr API-Token ein.
  4. Klicken Sie auf „Senden“. Wenn alles richtig eingerichtet ist, sollten Sie eine JSON-Antwort mit allen Details des angegebenen Problems sehen, einschließlich seiner Felder, Kommentare, Anhänge und mehr.

Schritt 4: Problem erstellen

Lassen Sie uns nun über die API ein neues Problem erstellen:

  1. Ändern Sie in Postman die HTTP-Methode in POST und aktualisieren Sie die URL zum Endpunkt der Problemerstellung: https://your-domain.atlassian.net/rest/api/3/issue
  2. Fügen Sie unter der Registerkarte „Header“ ein neues Schlüssel-Wert-Paar hinzu: „Content-Type“ und „application/json“. Dadurch wird Jira mitgeteilt, dass wir eine JSON-Nutzlast senden.

Wechseln Sie zur Registerkarte „Body“, wählen Sie das Optionsfeld „raw“ aus und geben Sie das folgende JSON ein. Ersetzen Sie dabei die Werte project.key, issuetype.name, summary und description entsprechend:



 json

{
  "fields": {
    "project": {
      "key": "YOUR_PROJECT_KEY"
    },
    "issuetype": {
       "name": "Task"
    },
    "summary": "Issue created via REST API",
    "description": {
      "type": "doc",
      "version": 1,
      "content": [
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "This is a test issue created using the Jira REST API."
            }
          ]
        }
      ]
    }
  }
}

3. Klicken Sie auf „Senden“. Jira antwortet mit dem Status „201 Erstellt“ und den vollständigen Details des neu erstellten Problems.

Schritt 5: Ein Problem aktualisieren

Um ein bestehendes Problem zu aktualisieren, verwenden wir die PUT-Methode:

  1. Ändern Sie die HTTP-Methode in PUT und aktualisieren Sie die URL, sodass sie auf das Problem verweist, das Sie aktualisieren möchten: https://your-domain.atlassian.net/rest/api/3/issue/ISSUE-KEY.

Fügen Sie im Anforderungstext die Felder ein, die Sie aktualisieren möchten, zum Beispiel:



 json

{
  "fields": {
    "summary": "Updated summary",
    "description": {
      "type": "doc",
      "version": 1,
      "content": [
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "This issue has been updated via the REST API."
            }
          ]
        }
      ]
    }
  }
}


2. Klicken Sie auf „Senden“. Jira antwortet mit dem Status „204 Kein Inhalt“, um anzuzeigen, dass das Update erfolgreich war.

Schritt 6: Mit JQL nach Problemen suchen

Auf die leistungsstarken Suchfunktionen von Jira kann auch über die REST-API mit JQL (Jira Query Language) zugegriffen werden:

  1. Ändern Sie die HTTP-Methode zurück auf POST und aktualisieren Sie die URL zum Suchendpunkt: https://your-domain.atlassian.net/rest/api/3/search

Fügen Sie im Anforderungstext eine JQL-Abfrage und alle zusätzlichen Parameter ein:



 json
Copy
{
  "jql": "project = YOUR_PROJECT_KEY AND status = 'To Do' ORDER BY created DESC",
  "fields": ["summary", "status", "assignee"],
  "maxResults": 10
}

 Diese Abfrage gibt die 10 zuletzt erstellten Probleme im Status „Zu erledigen“ aus dem angegebenen Projekt zurück und enthält nur die Felder „Zusammenfassung“, „Status“ und „Zuständigkeit“.

  1. Klicken Sie auf „Senden“. Jira antwortet mit einem JSON-Array von Problemen, die Ihren Suchkriterien entsprechen.

Diese Beispiele kratzen nur an der Oberfläche dessen, was mit der Jira REST API möglich ist. Wenn Sie mit den verfügbaren Endpunkten und Parametern vertrauter werden, können Sie zunehmend komplexere und leistungsfähigere Integrationen erstellen.

Sie können Jira automatisieren, ohne die API auf Latenode zu verwenden

So automatisieren Sie die Problemerstellung und -aktualisierung in Jira mit Latenode

Eine der leistungsstärksten Anwendungen der Jira REST API ist die Automatisierung der Aufgabenerstellung und -aktualisierung. Mit Latenode können Sie anspruchsvolle Workflows einrichten, die automatisch Aufgaben in Jira basierend auf Daten aus externen Quellen oder bestimmten Auslösern erstellen und aktualisieren. Dadurch wird sichergestellt, dass die Informationen in Ihrem Projektmanagementsystem aktuell und zeitnah bleiben, was die Teameffizienz steigert.

Sie könnten beispielsweise einen Workflow erstellen, der automatisch eine neue Aufgabe in Jira erstellt, wenn eine Fehlermeldung von einem Überwachungssystem eingeht, alle erforderlichen Felder ausfüllt und die Aufgabe dem entsprechenden Entwickler zuweist. Wenn Updates eingehen, kann die Aufgabe automatisch aktualisiert werden, und wenn das Problem gelöst ist, kann sie geschlossen werden. Dieser optimierte Ansatz verbessert nicht nur die Problemverfolgung, sondern spart Ihrem Team auch Zeit, sodass es sich auf die Lösung von Problemen konzentrieren kann, anstatt sie zu verwalten.

Weitere Informationen zu diesem Skript und zur Integration mit Latenode finden Sie in diesem Artikel. Die Integration mit Latenode bietet einige wichtige Vorteile:

  • Benutzerfreundlich Latenode vereinfacht die Verwendung der Jira-API und erleichtert nicht-technischen Benutzern die Automatisierung von Projektmanagementaufgaben.
  • Flexible Preisgestaltung Benutzer können zwischen verschiedenen Latenode-Plänen mit unterschiedlichen Kosten und Funktionen wählen, der ihren Anforderungen am besten entspricht.
  • Umfassende Lösungen Durch die Integration von Latenode mit Jira erhalten Sie Zugriff auf eine breite Palette von Projektmanagement- und Problemverfolgungsfunktionen.
  • Maßgeschneidert Benutzer können Jira-Integrationen an ihre spezifischen Anforderungen anpassen und so maßgeschneiderte Automatisierungslösungen entwickeln, die auf ihre Geschäftsziele abgestimmt sind.

Stellen Sie sich vor, jede wichtige E-Mail eines Kunden würde automatisch in eine Aufgabe in Jira umgewandelt. Mit Latenode wird das Wirklichkeit. Unsere Plattform stellt sicher, dass eine neue Aufgabe im richtigen Projekt erstellt wird, wobei die Felder auf Grundlage des E-Mail-Inhalts ausgefüllt werden. So wird garantiert, dass keine wichtige Anfrage übersehen wird.

Hier ist ein Beispiel, wie ein Latenode-Workflow die Erstellung und Aktualisierung von Jira-Aufgaben basierend auf eingehenden E-Mail-Daten aus einer externen Quelle automatisiert.

Dieses Bild würde eine visuelle Darstellung des Workflows in der Latenode-Schnittstelle zeigen, wobei verbundene Knoten jeden Schritt des Prozesses vom E-Mail-Empfang bis zur Erstellung der Jira-Aufgabe darstellen.

Dies ist nur ein Beispiel dafür, wie Latenode Ihren Ansatz zur Verwendung der Jira-API mit leistungsstarker Automatisierung verändern kann. Tatsächlich sind die Möglichkeiten der Plattform praktisch unbegrenzt – Sie können alle Automatisierungsszenarien erstellen, die zur Verbesserung Ihrer Geschäftseffizienz erforderlich sind. Ob automatische Aufgabenverteilung, Senden von Benachrichtigungen, Verfolgen von Leistungskennzahlen oder andere Aufgaben – Latenode bietet die Tools, um sie zum Leben zu erwecken.

Durch die Nutzung des visuellen Workflow-Builders von Latenode und der nahtlosen Integration mit der Jira REST API können Sie problemlos komplexe Automatisierungsszenarien entwerfen und implementieren, die Effizienz des Projektmanagements steigern und die Arbeitsabläufe Ihres Teams beschleunigen.

Wenn Sie Hilfe oder Rat bei der Erstellung Ihres eigenen Skripts benötigen oder dieses Skript replizieren möchten, wenden Sie sich an unsere Discord-Community, wo die Experten für Low-Code-Automatisierung sitzen.

Seitennummerierung, Erweiterung und Sortierung der Jira REST-API

Wenn Sie anfangen, in Jira mit größeren Datensätzen zu arbeiten, müssen Sie wissen, wie die REST-API die Paginierung, die Erweiterung verschachtelter Ressourcen und die Sortierung der Ergebnisse handhabt.

Expansion

Viele Jira-Ressourcen enthalten Verweise auf andere, verschachtelte Ressourcen. Ein Problem enthält beispielsweise Verweise auf sein Projekt, seinen Problemtyp, seinen Ersteller, seinen Berichterstatter, seinen Beauftragten, Kommentare, Anhänge und mehr. Standardmäßig werden diese verschachtelten Ressourcen als Stubs zurückgegeben, die nur einige grundlegende Felder und einen Selbstlink zur vollständigen Ressource enthalten.

Wenn Sie die vollständigen Details einer verschachtelten Ressource benötigen, können Sie den Abfrageparameter „expand“ verwenden, um anzufordern, dass Jira die vollständige Ressource in die Antwort einschließt. Um beispielsweise die vollständigen Details des Projekts und des Beauftragten eines Problems einzuschließen:



GET .../rest/api/3/issue/ISSUE-KEY?expand=project,assignee

Sie können mehrere Ressourcen erweitern, indem Sie sie durch Kommas trennen. Beachten Sie, dass Erweiterungen die Größe der Antwortnutzlast erheblich erhöhen können. Verwenden Sie sie daher mit Bedacht.

Paginierung

Anfragen, die möglicherweise eine große Anzahl von Ergebnissen zurückgeben (wie JQL-Suchen), werden standardmäßig paginiert. Die API gibt eine maximale Anzahl von Ergebnissen pro Seite zurück (standardmäßig 50, aber anpassbar bis auf 100) zusammen mit Links zu den nächsten und vorherigen Seiten.

Sie können die Paginierung mit den Parametern startAt und maxResults steuern:

  • startAt: Der Index des ersten zurückzugebenden Ergebnisses (0-basiert)
  • maxResults: Die maximale Anzahl der Ergebnisse, die pro Seite zurückgegeben werden sollen

So rufen Sie beispielsweise die zweite Ergebnisseite mit einer Seitengröße von 20 ab:



GET .../rest/api/3/search?jql=project=YOUR_PROJECT_KEY&startAt=20&maxResults=20

Ihre Anwendung muss mehrere Anfragen verarbeiten, um alle Seiten mit Ergebnissen abzurufen.

Bestellung

Sie können die Reihenfolge der Ergebnisse mit dem Parameter orderBy steuern, der eine durch Kommas getrennte Liste von Feldern akzeptiert, nach denen sortiert werden soll. Jedem Feld kann ein - vorangestellt werden, um eine absteigende Reihenfolge anzuzeigen.

So sortieren Sie beispielsweise Probleme absteigend nach Erstellungsdatum und dann aufsteigend nach Priorität:

GET .../rest/api/3/search?jql=project=IHR_PROJEKTSCHLÜSSEL&orderBy=-created,priority

Nicht alle Felder unterstützen die Sortierung. Informationen dazu, was verfügbar ist, finden Sie in der Dokumentation zum jeweiligen Endpunkt.

Anwendungsbeispiele für die Jira-API

Hier sind einige fortgeschrittenere Beispiele, die die Leistungsfähigkeit der Jira REST API für Massenvorgänge demonstrieren.

Massenerstellung/-aktualisierung von Problemen aus CSV

Angenommen, Sie haben eine CSV-Datei mit Daten für mehrere Probleme, die Sie in Jira erstellen oder aktualisieren möchten. Sie können ein Tool wie Postman verwenden, um diesen Prozess zu automatisieren:

  1. Erstellen Sie in Postman eine neue Anforderung für den Endpunkt zum Erstellen oder Aktualisieren von Problemen.

Wählen Sie auf der Registerkarte „Text“ das Optionsfeld „Rohdaten“ aus und geben Sie eine Vorlage für Ihre Problemdaten ein. Verwenden Sie dabei Variablen für die Felder, die aus Ihrer CSV-Datei stammen:



{
  "fields": {
    "project": {"key": "{{project_key}}"},
    "issuetype": {"name": "{{issue_type}}"},
    "summary": "{{summary}}",
    "description": {
      "type": "doc",
      "version": 1,
      "content": [
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "{{description}}"
            }
          ]
        }
      ]
    },
    "assignee": {"name": "{{assignee}}"},
    "priority": {"name": "{{priority}}"}
  }
}

2. Wechseln Sie zur Registerkarte „Pre-Request-Skript“ und fügen Sie Code hinzu, um Ihre CSV-Datei zu lesen und die entsprechenden Variablen festzulegen:



const csvFile = pm.iterationData.readCSV();
pm.variables.set('project_key', csvFile[0]);
pm.variables.set('issue_type', csvFile[1]);
pm.variables.set('summary', csvFile[2]);
pm.variables.set('description', csvFile[3]);
pm.variables.set('assignee', csvFile[4]);
pm.variables.set('priority', csvFile[5]);

3. Wählen Sie im Fenster „Runner“ Ihre CSV-Datei als Datendatei aus und starten Sie den Lauf. Postman erstellt für jede Zeile in Ihrer CSV eine neue Anfrage und ersetzt dabei die Variablen aus der Datei.

Dies ist eine leistungsstarke Technik für den Massenimport von Daten aus externen Quellen in Jira.

Massenerstellung/-aktualisierung von Problemen aus JSON

Wenn Ihre Quelldaten bereits im JSON-Format vorliegen, können Sie den Endpunkt zum Massenerstellen/-aktualisieren verwenden, um mehrere Probleme in einer einzigen Anfrage zu verarbeiten:

POST https://Ihre-Domäne.atlassian.net/rest/api/3/issue/bulk

Der Anforderungstext sollte ein Array von Objekten zum Erstellen/Aktualisieren von Problemen enthalten, die jeweils demselben Format wie eine einzelne Anforderung zum Erstellen/Aktualisieren von Problemen folgen:



{
  "issueUpdates": [
    {
      "fields": {
        "project": {"key": "PROJ1"},
        "issuetype": {"name": "Task"},
        "summary": "Issue 1",
        "description": {
          "type": "doc",
          "version": 1,
          "content": [
            {
              "type": "paragraph",
              "content": [
                {
                  "type": "text",
                  "text": "First issue created via bulk update"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fields": {
        "project": {"key": "PROJ2"},
        "issuetype": {"name": "Bug"},
        "summary": "Issue 2",
        "description": {
          "type": "doc",
          "version": 1,
          "content": [
            {
              "type": "paragraph",
              "content": [
                {
                  "type": "text",
                  "text": "Second issue created via bulk update"
                }
              ]
            }
          ]
        },
        "priority": {"name": "High"},
        "labels": ["bulk-import", "api-test"]
      }
    }
  ]
}

Dadurch werden zwei Probleme in einer Anfrage erstellt – eine Aufgabe im Projekt PROJ1 und ein Fehler im Projekt PROJ2. Sie können bis zu 50 Probleme in einer einzigen Massenanfrage einschließen.

Der Massenendpunkt ist auch nützlich, um Massenübergänge, -aktualisierungen und -löschungen durchzuführen. So überführen Sie beispielsweise mehrere Probleme in den Status „Erledigt“:



{
  "transition": {
    "id": "31"
  },
  "issues": [
    {"key": "ISSUE-1"},
    {"key": "ISSUE-2"},
    {"key": "ISSUE-3"}
  ]
}

Dies setzt voraus, dass „31“ die ID Ihres „Erledigt“-Übergangs ist – Sie können die verfügbaren Übergänge für einen Problemtyp über den Endpunkt /rest/api/3/issue/{issueIdOrKey}/transitions finden.

Zusammenfassung

Die Jira REST API ist ein äußerst leistungsstarkes Tool zur Integration von Jira in andere Systeme, zur Automatisierung von Aufgaben und zur Erweiterung der Funktionen von Jira. In diesem Handbuch haben wir die Grundlagen der API behandelt, darunter:

  • Der Unterschied zwischen Java- und REST-APIs und wann welche zu verwenden sind
  • Wichtige Unterschiede zwischen den Cloud- und Server-/Data-Center-APIs
  • So authentifizieren Sie sich bei der API mit API-Token oder Basic Auth
  • Ihre ersten API-Anfragen mit Postman
  • Probleme erstellen, abrufen, aktualisieren und suchen
  • Handhabung der Seitennummerierung, Erweiterung und Sortierung von Ergebnissen
  • Erweiterte Anwendungsfälle wie Massenerstellung/-aktualisierung aus CSV- und JSON-Daten

Wir haben jedoch gerade erst an der Oberfläche gekratzt. Die Jira REST API bietet Endpunkte für die Arbeit mit nahezu jedem Aspekt von Jira, von Projekten und Boards bis hin zu Benutzern und Berechtigungen. Beachten Sie beim Erstellen Ihrer Integrationen unbedingt die offizielle Atlassian-Dokumentation, um die aktuellsten und umfassendsten Informationen zu erhalten.

Mit der Jira REST API in Ihrem Toolkit sind die Möglichkeiten, die Sie mit Jira nutzen können, nahezu unbegrenzt. Egal, ob Sie ein benutzerdefiniertes Berichts-Dashboard erstellen, Daten mit einem anderen System synchronisieren oder komplexe Workflows automatisieren, die API bietet die Flexibilität und Leistung, die Sie dafür benötigen.

Sie können Jira ohne Verwendung der API auf Latenode ausprobieren

FAQ

Welche Authentifizierungsmethoden werden von der Jira REST API unterstützt?

Jira Cloud unterstützt OAuth 2.0 und API-Token zur Authentifizierung. Für OAuth müssen Sie Ihre Anwendung in der Entwicklerkonsole von Atlassian registrieren, um eine Client-ID und ein Geheimnis zu erhalten. API-Token sind eine einfachere Option für Skripte und persönliche Integrationen. Jira Server und Data Center unterstützen Basic Auth (Benutzername und Passwort) und sitzungsbasierte Authentifizierung mithilfe von Cookies.

Unterscheidet sich die Jira REST API zwischen Jira Cloud und Jira Data Center?

Auch wenn die Kernendpunkte und Funktionen weitgehend gleich sind, gibt es einige wesentliche Unterschiede:

  • Die Basis-URL für die API ist unterschiedlich – Cloud verwendet https://your-domain.atlassian.net/rest/api/3/, während Server/Data Center https://your-jira-instance.com/rest/api/latest/ verwendet.
  • Die Cloud erzwingt strengere Ratenbegrenzungen und erfordert eine Authentifizierung für alle Anfragen, während Server/Rechenzentrum großzügigere Standardeinstellungen haben.
  • Bei einigen erweiterten Funktionen, wie den Agile- und Service Desk-APIs, gibt es Unterschiede hinsichtlich der verfügbaren Endpunkte und Anforderungs-/Antwortformate zwischen Cloud und Server/Rechenzentrum.

Lesen Sie immer die Dokumentation zu Ihrer Jira-Bereitstellung, um sicherzustellen, dass Sie die richtigen URLs und Parameter verwenden.

Wie gehe ich mit der API-Ratenbegrenzung um?

Jira Cloud erzwingt Ratenbegrenzungen, um die Stabilität und Leistung des Dienstes sicherzustellen. Wenn Sie die Ratenbegrenzung überschreiten, erhalten Sie die Antwort 429 Too Many Requests.

So vermeiden Sie das Erreichen von Ratenbegrenzungen:

  • Zwischenspeichern Sie die Daten wenn möglich, um wiederholte Anfragen zu vermeiden.
  • Verwenden Sie die Paginierung, um große Ergebnismengen über mehrere Anfragen hinweg abzurufen, anstatt zu versuchen, alles auf einmal abzurufen.
  • Implementieren Sie in Ihrem Clientcode ein exponentielles Backoff, um die Verzögerung zwischen den Wiederholungsversuchen schrittweise zu erhöhen, wenn eine Ratenbegrenzung erreicht wird.
  • Wenn Sie einen berechtigten Bedarf für eine höhere Ratenbegrenzung haben, wenden Sie sich an den Atlassian-Support, um Ihre Optionen zu besprechen.

Bei Server- und Data Center-Bereitstellungen ist die Ratenbegrenzung standardmäßig deaktiviert, Administratoren können Ratenbegrenzungen jedoch bei Bedarf aktivieren und konfigurieren.

Kann ich die Jira REST API für Server/Rechenzentren verwenden?

Ja, Jira Server und Data Center verfügen über eine REST-API, die der Jira Cloud-API weitgehend ähnelt. Die Hauptunterschiede sind:

  • Die Basis-URL verwendet /rest/api/latest/ statt /rest/api/3/.
  • Einige Endpunkte haben möglicherweise leicht unterschiedliche Parameter oder Antwortformate.
  • Die Authentifizierung erfolgt normalerweise über Basic Auth oder Sitzungscookies und nicht über OAuth oder API-Token.

Die genauesten Informationen zu Ihrer Jira-Version finden Sie in der server-/rechenzentrumspezifischen Rest-API-Dokumentation.

Die Jira REST API ist eine leistungsstarke und flexible Möglichkeit, Jira in Ihren Entwicklungsworkflow zu integrieren. Egal, ob Sie in der Cloud arbeiten oder Ihren eigenen Server verwalten, die API bietet die Tools, die Sie benötigen, um Jira zu automatisieren, anzupassen und zu erweitern, damit es den individuellen Anforderungen Ihres Teams entspricht. Mit ein wenig Erkundung und Experimentieren können Sie das volle Potenzial von Jira freisetzen und Ihr Projektmanagement auf die nächste Ebene bringen.

Anwendung einsAnwendung zwei

Jetzt testen

Verwandte Blogs

Anwendungsfall

Unterstützt von