<link rel="stylesheet" id="astra-theme-css-css" href="https://pmo-it.de/wp-content/themes/astra/assets/css/minified/style.min.css?ver=3.7.9" media="all">

Devops mit Cucumber, Jira und Xray

DevOps Cucumber Jira Jenkins

„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:

  1. Jira
  2. Cucumber Plugin
  3. Cucumber Reports
  4. 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.

Jenkins Konfiguration Xray

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“.

Jenkins anlegen Freestyleprojekt

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

Jenkins Xray 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:

Ergebnis Jenkins Xray

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.

Xray Cucumber Feature import Task

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.

Jenkins Xray 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.

Beispiel Cucumber Testfall
Beispiel Cucumber Test in Jira Xray

Dieses Vorgehen und sämtliche Anwendungsfälle von Cucumber, inklusive Tabellen und Parameter, erfahren Sie in meiner Schulung „Behaviour Driven Development mit Cucumber“.