- Angelegt von //SEIBERT/MEDIA Mitarbeiter, zuletzt geändert am Apr 22, 2024
Jira Cloud Dokumentation
Automatisiere, welche Build- und Deployment Events von Jenkins an Jira gesendet werden
In diesem Thema wird ein optionaler Schritt beschrieben, mit dem du einen Jenkins Server mit einer Jira Cloud Site verbinden kannst, indem du Jenkins für Jira (Englisch) verwendest. Dieser Schritt ist nicht notwendig, um die Verbindung herzustellen und den Datenfluss in Gang zu setzen, und setzt gute Kenntnisse darüber voraus, wie Jenkins-Pipelines erstellt werden. Für manche Teams kann es nützlich sein, eine Verbindung zu einem Jenkins Server herzustellen, auf dem eine große Anzahl von Pipelines betrieben wird.
Wenn du die Jenkins für Jira App verwendest, um Build- und Deployment Events von einem Jenkins Server an Jira zu senden, sucht das Atlassian Jira Software Cloud Plugin auf deinem Jenkins Server nach ausdrücklichen Anweisungen in deinen Server-Pipelines, um Daten an Jira zu senden. Genauer gesagt, sucht es nach diesen Anweisungen in den Jenkins-Dateien, die diese Pipelines definieren.
Diese Anweisungen sind in der Einrichtungsanleitung enthalten, die in Jira erstellt wird, wenn du dich mit einem Jenkins-Server verbindest.
Wenn du das Atlassian Jira Software Cloud Plugin auf deinem Jenkins Server einrichtest, kannst du als Jenkins-Administrator außerdem die folgenden erweiterten Optionen aktivieren:
- Builds automatisch versenden
- Deployments automatisch versenden
Wenn du diese Optionen auswählst, sucht das Atlassian Jira Software Cloud Plugin nach expliziten Anweisungen in deinen Jenkinsfiles sowie nach bestimmten Namenskonventionen für Build- und Deployment-Phasen in diesen. Wenn es eine dieser Anweisungen findet, sendet es Daten an die verbundenen Jira Sites. Weitere Informationen findest du unter Wie Jenkins für Jira funktioniert. (Englisch)
Ist Automation für dein Team geeignet?
Einige Teams, die beim Schreiben ihrer Jenkinsdateien eine einheitliche Namenskonvention für Build- und Deployment-Phasen verwenden, finden die Verwendung von Phasennamen möglicherweise praktischer als das Schreiben spezifischer Anweisungen für jede Build- und Deployment-Phase, vor allem, wenn ihre Jira Projekte eine große Anzahl von Jenkins-Pipelines nutzen.
Um herauszufinden, ob dies eine geeignete Option für dein Team ist, frage bei deinen Entwicklern nach:
- Wer pflegt die Jenkinsfiles für die einzelnen Jira Projekte?
- Will dein Team:
- Genaue Kontrolle über jede Pipeline, die Daten an Jira sendet, oder
- Jenkins jedes Mal, wenn es eine Pipeline ausführt, Build- und Deployment-Updates an Jira senden.
Wenn du weißt, wer die Jenkinsfiles für jedes Jira Projekt pflegt, frage diese Teammitglieder:
- Habt ihr beim Schreiben von Jenkinsfiles eine einheitliche Namensstruktur für die Build- und Deployment-Phasen?
- Zum Beispiel:
- Heißen alle Build-Stufen stage('build')?
- Heißen alle Deployment-Stufen stage('deploy to staging'), stage('deploy to prod'), usw.?
- Zum Beispiel:
- Wenn ja, wie lauten diese Namensstrukturen?
Einstellungen
Abhängig von den Antworten deines Teams auf die obigen Fragen, kannst du hier sehen, ob die Aktivierung dieser Optionen für dein Team geeignet ist:
Build-Daten automatisch versenden
Diese Einstellung legt fest, wie Jenkins Build Events an Jira sendet.
Je nachdem, wie dein Team Jenkins nutzt, solltest du die folgenden Einstellungen vornehmen:
Wenn dein Team:
- möchte, dass Jenkins bei jedem Durchlauf einer Pipeline Build-Updates an Jira sendet.
- beim Schreiben von Jenkins-Dateien eine einheitliche Namensstruktur für Build-Phasen hat.
- Wenn zum Beispiel jede Build-Phase stage('build') genannt wird.
Du oder dein Jenkins-Admin sollte:
- Diese Option aktivieren
- einen Filter mit regulären Ausdrücken eingeben, der der Struktur der Build-Stage-Namen deines Teams entspricht
- Zum Beispiel:
- Wenn jede Build-Stufe stage('build') heißt
- Gib den regulären Ausdruck ^build$ ein
- Zum Beispiel:
Wenn dein Team:
- Jenkins bei jedem Durchlauf einer Pipeline Build- und Deployment-Updates an Jira senden möchte.
- keine einheitliche Namensstruktur für Build-Phasen beim Schreiben von Jenkins-Dateien verwendet.
Dann solltest du oder dein Jenkins-Admin:
- Diese Option aktivieren
- Das Filterfeld für reguläre Ausdrücke leer lassen
Wenn dein Team:
- Jede einzelne Pipeline, die Daten an Jira sendet, genau kontrollieren möchte
solltest du oder dein Jenkins-Administrator:
- Diese Option deaktivieren
Deployment-Daten automatisch senden
Diese Einstellung legt fest, wie Jenkins Deployment Events an Jira sendet.
Je nachdem, wie dein Team Jenkins verwendet, kannst du deinem Jenkins-Administrator die folgenden Informationen geben:
Wenn dein Team:
- Beim Schreiben von Jenkinsfiles eine einheitliche Namensstruktur für Deployment-Phasen verwendet.
- Zum Beispiel, wenn jede Deployment-Phase stage('deploy to staging'), stage('deploy to prod') und so weiter heißt
- Jede Pipeline Deployment-Daten an Jira senden soll
Dann solltest du oder dein Jenkins-Admin das tun:
- Diese Option aktivieren
- Einen Filter mit regulären Ausdrücken eingeben, der den Namen der Deployment-Stufen entspricht, die deine Teams verwenden
- Zum Beispiel:
- Wenn jede Deployment-Phase stage('deploy to staging'), stage('deploy to prod'), usw. heißt
- Gib den regulären Ausdruck ^deploy to (?<envName>.*)$ ein
- Verwende (?<EnvName>.*) anstelle von bestimmten Stufennamen wie "staging" oder "prod", damit Jenkins die Umgebungsnamen extrahieren und in Jira anzeigen kann
- Zum Beispiel:
Wenn dein Team:
- beim Schreiben von Jenkinsdateien keine einheitliche Namensstruktur für Deployment-Phasen hat, oder
- eine genaue Kontrolle über jede Pipeline haben möchte, die Daten an Jira sendet
Dann solltest du oder dein Jenkins-Admin:
- Diese Option deaktivieren
Link zu dieser Seite: https://seibert.biz/dokujiracloudautomatisierejenkinsjira