Jira und Jenkins
Blog ÜbersichtJira und Jenkins

Mit Jenkins Build- und Deployment-Informationen an Jira Cloud senden. Atlassian steht für Interoperabilität und liefert für Jenkins ein unentgeltlich bereitgestelltes Plugin.

(Quelle: https://community.atlassian.com/t5/Jira-articles/6-integrations-every-Jira-Software-Cloud-team-NEEDS-to-know/ba-p/1069040)

Wie sieht es aus

Zu Gunsten der Lesbarkeit die Branch-Names in Klartext, statt Variablen. Das Jenkinsfile liegt im Bitbucket-Repository, mehr dazu weiter unten in diesem Artikel.

Jenkinsfile
pipeline {
  agent any

  stages {
    stage('build') {
      steps {
        echo 'Building...'
      }
      post {
        always {
          // The branch name includes the related issue key
      	  jiraSendBuildInfo branch:'origin/KAN-3',
            site: 'atlasteamtraining.atlassian.net'
    	}
  	  }
    }
    stage('deploy') {
      steps {
        echo 'Deployment...'
      }
      post {
        always {
          // The commit message includes the related issue key
      	  jiraSendDeploymentInfo site: 'atlasteamtraining.atlassian.net',
            environmentId: 'de-prod-1',
            environmentName: 'de-prod-1',
            environmentType: 'production'
    	}
  	  }
    }
  }
}

jiraSendBuildInfo liefert den Eintrag "1 build" im Jira-Issue und ob die Aktion erfolgreich gewesen ist.

jiraSendDeploymentInfo liefert den Eintrag unter Releases auf der rechten Seite im Jira-Issue und ob die Aktion erfolgreich gewesen ist. Hinweis: Es wird kein Release in Jira damit erzeugt.

Ein Klick auf die jeweilige Information unter Development oder Releases öffnet ein Popup-Fenster, mit weiteren Informationen.

Wie geht es

Für einen Test von dem Atlassian Plugin für Jenkins einen Paperspace Server mit wenigen Klicks erzeugen. Verwendet wird hier ubuntu 18.04 lts Server.

Ein paar Kommandos über die Command-Line abgesetzt und schon laufen die Docker Container mit Jenkins und Bitbucket. Hinweis, der externe Port vom Container wird an localhost gebunden, bzw. der Server kann nur über den nach außen sichtbaren Apache erreicht werden.

sudo snap install docker
sudo apt-get install apache2
sudo snap install certbot --beta --classic
sudo certbot --apache -d showcase.example.com

sudo docker pull jenkins
sudo docker volume create jira_jenkins
sudo docker run -p 127.0.0.1:8080:8080 -p 127.0.0.1:50000:50000 -v jira_jenkins:/var/local/jenkins -d jenkins --prefix=/jenkins

sudo docker pull atlassian/bitbucket-server
sudo docker volume create --name bitbucketVolume
sudo docker run -d -p 127.0.0.1:7990:7990 -p 127.0.0.1:7999:7999 --name bitbucket_server -v bitbucketVolume:/var/atlassian/application-data/bitbucket -e SERVER_PROXY_NAME=showcase.example.com -e SERVER_PROXY_PORT=443 -e SERVER_PROXY_SCHEME=https -e SERVER_SECURE=true -e SERVER_CONTEXT-PATH=/bitbucket atlassian/bitbucket-server

Auf die Konfiguration vom Apache, bzw. die Einrichtung von einem Reverse Proxy wird an dieser Stelle nicht eingegangen.

In Jira Cloud die Credentials für Jenkins erzeugen.

Jenkins Plugins installieren. Anschließend die oben erzeugten Credentials eintragen und mit Bitbucket (Docker Container) verknüpfen.


Eine Multibranch Pipeline in Jenkins erzeugen und mit dem Repository in Bitbucket verknüpfen.

Das Repository in Bitbucket. Der Inhalt von dem Jenkinsfile oben in diesem Artikel. HelloWorld.java steht hier nur exemplarisch und wird nicht weiter verwendet.

Pipeline ausführen

Auf "Build Now" klicken.

Console Output in Jenkins unten.

Der zweite Eintrag ist "SKIPPED…", weil mit diesem Durchlauf der Branch gebaut wurde (ISSUE-KEY im Branch-Name). Damit der zweite Eintrag "SUCCESS…" liefert, in der commit Message "… ISSUE-KEY …" schreiben.

Bei Fragen Atlasteam kontaktieren. Wir freuen uns auf Feedback und lieben es, tollen Support unseren Kunden zu bieten.

Lieben Gruß

Jens Bormüller

Referenzen

https://community.atlassian.com/t5/Jira-articles/6-integrations-every-Jira-Software-Cloud-team-NEEDS-to-know/ba-p/1069040

https://wiki.jenkins.io/display/JENKINS/Atlassian+Jira+Software+Cloud+Plugin

https://confluence.atlassian.com/adminjiracloud/integrate-jira-software-cloud-with-jenkins-972355471.html

https://confluence.atlassian.com/jirasoftwarecloud/referencing-issues-in-your-development-work-777002789.html

https://www.paperspace.com/



Schreiben Sie uns

Stephan SchulzE-Mail: team@atlasteam.de
Friedrich-Junge-Straße 30
10245 BerlinFax: +49 (0) 30 / 95 99 840 - 29

Ihr Ansprechpartner

Dipl. Ing., PMP, Stephan Schulz

Wir freuen uns auf Ihre Nachricht