Skip to main content Suchen

Bitbucket-Pipelines mit Jira Cloud Automation auslösen

Mit Jira Automation besitzen Projektadministratoren ein leistungsstarkes Werkzeug, um Automatisierungen zu Jira-Projekten hinzuzufügen, wie z.B. das Erstellen, Zuweisen und Bearbeiten von Issues. Darüber hinaus können Bedingungen festgelegt werden, so dass Aktionen nur dann ausgeführt werden, wenn ein Issue ein bestimmtes Kriterium erfüllt. Derzeit gibt es nur wenige Automatisierungen für externe Systeme wie Microsoft Teams oder Slack. Wenn man seine eigene Integration benötigt, müssen Web Requests verwendet werden. In diesem Beitrag möchte ich zeigen, wie man eine Bitbucket-Pipeline basierend auf einem Jira Issue Event auslösen kann. Stellen wir uns vor, wir arbeiten in einem Software-Entwicklungsteam und haben kürzlich begonnen, unsere Arbeit zu automatisieren. Wir verwenden natürlich den Atlassian Stack mit Jira und Bitbucket und möchten beide Anwendungen miteinander verbinden, so dass wir jedes Mal, wenn ein Issue in den Status "Testing" überführt wird, eine Bitbucket-Pipeline auslösen.

Setup

Gehen wir davon aus, dass wir bereits ein Jira Cloud-Projekt und eine Bitbucket-Pipeline eingerichtet haben. Wenn du mehr darüber wissen möchten, lies bitte die Dokumentation:

eficode-Bildschirmfoto-2021-02-05-um-14.06.41

Voraussetzungen

Um Jira Automations zu konfigurieren, musst du über die entsprechenden Berechtigungen verfügen. Für Classic Projects benötigst du die Berechtigung Administer Project, für Next-gen Projects musst du die Rolle des Administrators innehaben.

Je nachdem, welchen Projekttyp du verwendest, findest du die Automatisierungsseite hier:

Classic Project

  • Projekteinstellungen → Automatisierung

Next-gen Project

  • Projekteinstellungen → Apps → Projektautomatisierung

Eine weitere Sache, die wir uns ansehen müssen, bevor wir beginnen, ist die Verwendung der Bitbucket-API herauszufinden. Unter diesem Link findest du alle Informationen über die Daten, die wir an die API senden müssen, um eine Pipeline für einen Bereich auszulösen.

eficode-Bildschirmfoto-2021-02-05-um-14.12.42

Automation

1. Auslösen

Wie oben skizziert, wollen wir die Pipeline jedes Mal auslösen, wenn ein Issue in den Status "Testing" übergeht. In diesem Fall sollten wir den Issue Transitioned Trigger verwenden.

eficode-new-trigger

2. Benachrichtigung

Wähle den Von-Status und den Bis-Status.

Du kannst in beiden Feldern mehrere Status auswählen.

Wenn du diese Konfiguration gespeichert hast, können wir zuerst eine Bedingung auswählen, um den Umfang der Probleme einzuschränken. In unserem Fall wählen wir einfach gleich eine neue Aktion aus.

Aus der Liste der Optionen wählen wir die Option Webanfrage senden, die sich in der Liste Benachrichtigungen befindet.

eficode-web-request

Zur Konfiguration von Webanfrage senden benötigen wir die folgenden Informationen:

  • Workspace: Teamname oder dein Kontoname
  • Repository Slug: Name des Repositorys
  • POST Data:

{
      “target”: {
          “ref_type”: “branch”,
          “type”: “pipeline_ref_target”,
          “ref_name”: “master”
      }
}

Eine Möglichkeit zum Auslösen von Pipelines besteht darin, den Bereich anzugeben, für den du eine Pipeline auslösen möchtest. Der angegebene Bereich wird verwendet, um zu bestimmen, welche Pipeline-Definition aus der Datei bitbucket-pipelines.yml zum Starten der Pipeline angewendet wird. Die Pipeline führt dann einen Klon des Repositorys durch und checkt die letzte Revision des angegebenen Bereichs aus.

Mit diesen Informationen können wir unsere Webanforderung konfigurieren:

eficode-web-request-2

Zur Autorisierung lies bitte diese Dokumentation, hier findest du verschiedene Möglichkeiten zur Authentifizierung.

eficode-Bildschirmfoto-2021-02-05-um-14.12.42
Du hast Fragen oder möchtest mehr zum Thema Jira Automation erfahren? Dann kontaktiere uns einfach oder buche einen Termin mit unserem Consultant und CMO Jan Szczepanski:

 

Veröffentlicht:

Aktualisiert:

Atlassian