Fehlertracking und Auto-Ticketing mit Jira-Integration

In diesem Beitrag möchte ich aufzeigen, wie ich meinen automatisierten Tests mit WebdriverIO erweitert habe, um bei Fehlschlägen automatisch Jira-Tickets zu erstellen – und zwar mithilfe von Postman, Newman und gezielt ausgewählten Requests aus meiner Postman-Collection.

Ziele des Projektes

In komplexen Testumgebungen ist es entscheidend, Fehler nicht nur zu erkennen, sondern auch schnell und automatisiert darauf zu reagieren. Mein Ziel war es daher, ein System zu entwickeln, das nahtlos auf Testergebnisse reagiert und dabei manuelle Nacharbeiten in Jira minimiert.

Konkret bedeutet das:

  • Testfall ist nicht erfolgreich:
    • Wenn ein automatisierter WebdriverIO-Test fehlschlägt, soll automatisch ein Bug-Ticket in Jira erstellt werden. So wird der Fehler sofort sichtbar und kann ins Backlog oder direkt zur Bearbeitung überführt werden.

    • Zusätzlich soll der Status des Jira-Tickets im Fall eines Fehlers zurück auf „In Bearbeitung“ gesetzt werden, um den Workflow korrekt anzustoßen.

  • Testfall ist erfolgreich:
    • Läuft der Test hingegen erfolgreich durch, soll der Status eines bereits existierenden Tickets auf „Erledigt“ gesetzt werden.

    • Optional kann bei einem erfolgreichen Durchlauf ein Kommentar an das Jira-Ticket übermittelt werden – etwa als Hinweis, dass der Fehler nicht mehr reproduzierbar ist oder der Fix erfolgreich war.

Somit kann ich einen automatisierten Feedback-Kreislauf zwischen Testausführung und Testmanagement nachvollziehbar und vollständig automatisierbar machen.

Drag-and-Drop-Testfall in WebdriverIO

Um die Integration praxisnah zu demonstrieren, habe ich einen konkreten Testfall aus meinem Kanban-Projekt mit WebdriverIO umgesetzt: einen Drag-and-Drop-Vorgang in meiner eigenen Webanwendung. Dabei wird eine Karte von einer Spalte in eine andere gezogen.

Vorbereitung in Jira und Postman

Um die Kommunikation mit Jira zu automatisieren, habe ich in Postman gezielt Requests zur Jira-REST-API eingerichtet. Diese Requests übernehmen Aufgaben wie das Erstellen eines neuen Tickets, das Ändern des Ticket-Status oder das Hinzufügen von Kommentaren – jeweils passend zum Testergebnis.

Die Authentifizierung erfolgt über ein API-Token, das sicher in den Umgebungsvariablen von Postman hinterlegt ist. So kann jeder Request ohne manuelle Eingabe direkt ausgeführt werden – auch automatisiert über Newman.

Ich habe schließlich eine Postman-Collection erstellt, die folgende Requests enthält:

  • Create Bug
  • Set InProgress
  • Set Done
  • Comment Success

Diese Collection habe ich als JSON-Datei exportiert und in meine WebDriverIO Projekt eingebunden.

Newman-Runner in JavaScript

Ich nutze newman als CLI-Runner und filtere nur bestimmte Requests aus der Collection heraus, je nach Testergebnis:

Integration mit WebdriverIO

In meinem WebdriverIO-Test verwende ich einen try/catch-Block, um je nach Testergebnis die richtigen Requests auszuführen:

Ergebnisse in Jira

In der Ausgangslage wird keine manuelle Aktion vorgenommen – das System wartet nur auf das Ergebnis des nächsten (automatischen) Testlaufs.

☑️ Bei erfolgreichen Tests wird das zugehörige Jira-Ticket (sofern vorhanden) automatisch auf „Erledigt“ gesetzt. Zusätzlich kann ein Kommentar erscheinen, der z. B. bestätigt, dass der Test bestanden wurde oder der Bug nicht mehr auftritt.

Test erfolgreich ausgeführt:

Ergebnis in Jira:

❌ Nun lasse ich den Test absichtlich fehlschlagen. Es erscheint sofort ein neues Ticket (Bug) mit allen relevanten Informationen. Der Status meines ursprünglich erfolgreich getesteten Tickets wird nun erneut automatisch auf „In Arbeit“ gesetzt, sodass der Fehler direkt im Sprint sichtbar ist.

Ergebnis in Jira:

Schreibe einen Kommentar

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

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.