Allgemein, Technik, Tutorials

Veröffentlicht am 8. Mai 2023

Jira Automation: Erstellung einer Confluence-Seite durch REST API Webhooks in der Cloud

Jira Automations sind eine simple Methode, um Custom Events innerhalb einer Jira Instanz auszuführen. Da viele Teams gerne Confluence und Jira nahe beieinander nutzen, kann eine automatische Erstellung von Confluence-Seiten, beispielsweise ausgelöst durch eine Transition, hilfreich sein.

Jira Automation besitzt eine Funktion, die es möglich macht, direkt eine Confluence-Seite zu erstellen. Leider ist diese Funktion sehr eingeschränkt und bietet keine Möglichkeit, individuelle Daten auf die Seite zu schreiben. Hier kann ein REST API Webhook Abhilfe schaffen. Zum besseren Verständnis von REST API Webhooks, lies am besten unseren Blogartikel zu diesem Thema.

Um in Jira Automation einen Webhook zu erstellen, wird zunächst das gewünschte Projekt und danach Project Settings -> Automations -> Create ausgewählt.

Im nächsten Schritt wird als Trigger eine Transition ausgesucht. In diesem Fall wird die Automation ausgeführt, wenn ein Ticket von Backlog in Done wechselt.

Danach klickst du auf New Action -> Send web request.

In dieser Maske wird der REST API Webhook definiert. Eine ausführliche Dokumentation von Atlassian mit vielen Beispielen ist hier zu finden.

Zunächst wird eingestellt, zu welcher URL der Web Request gesendet wird. Um eine Seite zu erstellen, wird die Adresse der eigenen Atlassian Instanz gefolgt von /wiki/rest/api/content benötigt:

https://deinedomain.atlassian.net/wiki/rest/api/content

Um zu überprüfen, ob die richtige Adresse ausgewählt wurde, kann diese in die Adressleiste eingefügt werden. Wenn die Adresse richtig eingegeben wurde, wird eine Website im JSON-Format angezeigt. Je nach Formatierung des Webbrowsers, kann die Anzeige sich aber unterscheiden:

Für den Header sind noch zwei weitere Informationen wichtig. Zunächst wird die Authentifikation benötigt. Hierfür brauchst du den Account-Namen und ein Token, welcher auf folgender Seite zu finden ist.

Zur richtigen Übermittlung müssen Username und Token nach der Basic Authentifikation verschlüsselt sein. Hierfür gibt es im Internet verschiedene Anbieter, welche eine Verschlüsselung durchführen können. Dazu am besten „basic authorization header generator” in einer Suchmaschine deiner Wahl eingeben.

In diesem Beispiel wird für den Usernamen „jiratest123” gewählt und für das Passwort (hier den Token eingeben) „123456789”. Der generierte Header lautet nun:

Authorization Basic amlyYXRlc3QxMjM6MTIzNDU2Nzg5

Im nächsten Schritt wird Jira mitgeteilt, dass wir alle Operationen im JSON-Format übermitteln. Dafür tragen wir im zweiten Header ein:

Content-Type application/json

Der letzte Schritt ist, den Inhalt der Confluence-Seite zu definieren. Hierzu wird in dem Drop-Down-Menü „Web Request Body“ die Option „Custom Data“ ausgewählt.

In dem Textfeld ist der Inhalt im JSON-Format sowie der Titel der Confluence-Seite einzugeben. Dazu wird folgendes in das Textfeld geschrieben:

{„type“:“page“,“title“:“PAGETITEL“, „space“:{„key“:“SPACEKEY“},“body“:{„storage“:{„value“:“PAGEINHALT“,“representation“: „storage“}}} Die rot markierten Passagen sollen hier durch die gewünschten Werte ausgetauscht werden. Im Folgenden möchten wir, dass die Confluence-Seite unter dem Titel „Erste Page” und in dem Space „WT” gepostet wird. Der Inhalt der Seite wird im Storage-Format übergeben und lässt sich am besten auf Confluence einsehen.

Hierzu kreiert man eine Confluence-Seite in dem gewünschten Format und klickt dann auf die Einstellungen (…) -> Advanced Details -> View Storage Format.

Dieser Seiteninhalt kann nun kopiert werden. Zur richtigen Übermittlung müssen noch alle Zeilenumbrüche entfernt werden, sodass der Text folgendermaßen aussieht:

<p>Test123, </p><p>This is a test</p>

Hiermit können alle Infos ergänzt werden:

{„type“:“page“,“title“:“Erste Page„,“space“:{„key“:“WT„},“body“:{„storage“:{„value“:“ <p>Test123, </p><p>This is a test</p> „,“representation“:“storage“}}}

Zusammengefasst sieht das Ganze so aus:


Wenn nun die Automation aktiviert wird, wird immer, sobald ein Ticket von Backlog in Done geschoben wird, eine Confluence-Seite mit denselben Daten erstellt. Natürlich kann nur eine Seite mit dem Titel „Erste Page” existieren, weshalb sich die Automation noch mit Smart Values erweitern lässt. Weitere Infos zu Smart Values für Jira Automation gibt es bei Atlassian.


Hast du noch Fragen? Dann poste diese gerne in die Kommentare oder schreib uns eine Mail an: atlassian@team-neusta.de

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert