Devops mit Cucumber, Jira und Xray
"Hat auf meiner Maschine funktioniert,
ist jetzt Operating Problem“
Diese oder vergleichbare Aussagen sind nicht neu und wahrscheinlich schon öfter vorgekommen. Doch wie lässt sich so etwas eigentlich vermeiden? Dieser Blogeintrag zeigt eine Möglichkeit auf einen Jenkins Server mit entsprechendem Plugins zu konfigurieren um Cucumber Testfälle auszuführen und deren Ergebnisse an Jira zu übermitteln. In Jira werden die Cucumber-Featurefiles gepflegt und sind somit als gemeinsame Quelle der Wahrheit an einer Stelle abgelegt.
Dieses Vorgehen hat einige Vorteile, unter anderem existiert nur ein Ablageort der auch jedem Teammitglied bekannt ist. Nicht nur Tester und Entwickler, auch der Fachbereich könnte Änderungen und Ergänzungen an den Testfällen vornehmen.
Benötigte Jenkinsplugins
Benötigt werden folgende Plugins:
- Jira
- Cucumber Plugin
- Cucumber Reports
- Xray – Testmanagement for Jira Plugin
Jira API Schlüssel generieren und hinzufügen
Nach der Installation dieser Plugins müssen zunächst die API Daten von Jira hinterlegt werden.
Die API Schlüssel lassen sich in Jira selber unter „Jira Software“, Apps und anschließend Xray „API Schlüssel“ generieren.
Das Xray Plugin muss zuvor unter Jira hinzugefügt worden sein.
Wurde der Schlüssel generiert, muss dieser im Jenkins unter „Jenkins verwalten“, „Konfiguration“ und dann „Xray Konfiguration“ hinzugefügt werden.
Xray in Jenkins einbinden
Um nun Xray in Jenkins einzubingen legen wir zunächst ein neues Projekt an. Unter „Element anlegen“ auf „Freestyle Softwareprojekt bauen“.
Nun lassen sich wie gewohnt alle notwendigen Voraussetzungen wie zum Beispiel der Buildstart festlegen.
Entscheidend sind die Schritte in Buildverfahren und Post-Build-Aktion.
Buildverfahren
Hier muss zuerst die Jira-Instanz ausgewählt werden, dies ist die Instanz, bei der zuvor der API Key hinterlegt wurde.
Anschließend ist hier bei „Issues“ die Ticketnummer anzugeben, unter der die Cucumber Berichte und Testergebnisse auffindbar sein sollen.
Dies sieht dann in etwa so aus:
Unter „File Path“ ist der Pfad zu den Cucumber Featurefiles anzugeben. Unter diesem Pfad werden auch die von Jira exportieren Featurefiles abgelegt.
Als nächstes wird noch der „Xray Cucumber Feature Import Task“ benötigt.
Mit dieser Aktion werden bereits vorhandene Cucumber Featurefiles nach Jira importiert.
Neben der Jira Instanz ist hier der „Projekt Key“ einzutragen und anschließend erneut der Pfad zu den Cucumber Featurefiles.
Post Build Aktion
Zuletzt fehlt noch eine Aktion um die Cucumber Reports nach Jira zu importieren. Dies erfolgt über die Post-Build-Aktion.
Wiederholt muss hier die Jira Instance ausgewählt werden. Im Anschluss ist dann das passende Format der Reports auszuwählen. Zu guter letzt fehlt nur noch der Pfad unter dem die Reports abgelegt sind.
Abschluss
Neben der passenden Jenkins Konfiguration muss Cucumber die entsprechende Runnerclass besitzen um die Reports zu erzeugen. Des Weiteren ist in vorhandenen Cucumberfiles die Ticketnummer zu hinterlegen, ansonsten ist die Zuweisung durch Xray nicht möglich. Werden die Cucumber Featurefiles in Jira hinterlegt, erfolgt dies durch Xray automatisch.
Dieses Vorgehen und sämtliche Anwendungsfälle von Cucumber, inklusive Tabellen und Parameter, erfahren Sie in meiner Schulung „Behaviour Driven Development mit Cucumber“.