Zum Inhalt

Jira EE

Was kann ich mit dem Jira-Modul tun?

Das Jira-Modul ermöglicht es Ihnen, Jira-Issues (Probleme) aus openITCOCKPIT-Benachrichtigungen zu erstellen. Zusätzlich kann Jira Issues in openITCOCKPIT über einen Webhook bestätigen.

Wenn ein Host oder Dienst eine Benachrichtigung sendet, erstellt openITCOCKPIT ein neues Jira-Issue. Pro Host- oder Dienstproblem wird nur ein Problem erstellt. openITCOCKPIT schließt auch offene Probleme, wenn ein Host oder Dienst wieder in einen Wiederherstellungszustand wechselt.

openITCOCKPIT unterstützt Jira Cloud und Jira Data Center Installationen.

Konfiguration

Um die Jira-Integration einzurichten, navigieren Sie zu APIs -> Jira.

Wählen Sie den Jira-Typ, geben Sie die Jira-URL und ein API-Token ein. Für Jira Cloud ist auch ein Benutzername erforderlich. Klicken Sie auf "Jira-Projekte aktualisieren", um eine Liste der verfügbaren Jira-Projekte von Ihrem Jira-Server zu laden.

openITCOCKPIT kann Probleme in verschiedenen Jira-Projekten erstellen. Wählen Sie alle Jira-Projekte aus, in denen Sie Probleme erstellen möchten. Mindestens ein Projekt muss ausgewählt werden. Wenn Sie mehr als ein Projekt auswählen, müssen Sie ein Projekt als Standardprojekt markieren. Alle Probleme werden im Standardprojekt erstellt, es sei denn, es wird durch Festlegen der benutzerdefinierten Variable JIRA_PROJECT auf den Jira-Projektschlüssel (z.B. PX oder SUP) in der Kontakt-, Host- oder Dienstkonfiguration überschrieben. Siehe den Abschnitt Makros für Details.

openITCOCKPIT Jira-Integrationseinstellungen

Close transition ID

Jira Data Center

Um ein Jira-Issue zu schließen, benötigt openITCOCKPIT die ID des Schließübergangs. Diese Übergangs-ID ist erforderlich, damit openITCOCKPIT Jira-Issues automatisch schließen kann, wenn ein Host oder Dienst wiederhergestellt wird. Wenn Sie keine Übergangs-ID angeben oder eine falsche ID eingeben, erstellt openITCOCKPIT weiterhin Probleme in Jira, kann sie jedoch nicht schließen.

Je nach Workflow kann die Übergangs-ID variieren. Leider bietet Jira keine API, um die Übergangs-ID abzufragen. Sie müssen die Übergangs-ID manuell in der Jira-Weboberfläche nachschlagen und die Nummer eingeben.

Navigieren Sie zu Projekte -> Wählen Sie Ihr Projekt -> Arbeitsabläufe und klicken Sie auf das Stiftsymbol. Jira Einstellungen -> Projekt openITCOCKPIT Jira Workflow-Übergänge

Nun sehen Sie eine Liste aller Übergänge im Arbeitsabläuf. In diesem Beispiel wird der Fertig-Übergang verwendet, um Probleme als geschlossen zu markieren, mit der ID 41.

openITCOCKPIT Jira Workflow Done Übergänge

Jira Cloud

Bei Jira Cloud hat sich die Situation nicht verbessert. Die einfachste Methode, um die Übergangs-ID zu erhalten, besteht darin, die Entwicklerkonsole Ihres Browsers zu öffnen und ein Problem zu schließen. Übergangs-ID aus den Entwicklertools abrufen

Jira API-Schlüssel

Jira Data Center

Jira Data Center verwendet persönliche Zugriffstoken. Bitte folgen Sie der offiziellen Dokumentation, um ein neues Zugriffstoken zu erstellen: https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html.

Jira Cloud

Jira Cloud API-Tokens sind an ein Benutzerkonto gebunden. Bitte folgen Sie der offiziellen Dokumentation: https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/.

Webhooks einrichten

Mit Webhooks kann Jira mit openITCOCKPIT kommunizieren. Dies wird verwendet, um eine Bestätigung zu openITCOCKPIT hinzuzufügen, wenn ein Jira-Issue von Backlog zu In Progress wechselt. Die Bestätigung enthält den Benutzer oder den zugewiesenen Benutzer. Zusätzlich benachrichtigt Jira openITCOCKPIT, wenn ein Problem in Jira geschlossen wird. Dies stellt sicher, dass openITCOCKPIT ein neues Problem erstellt, wenn ein Problem ungelöst bleibt.

Warning

Aus Sicherheitsgründen wird empfohlen, einen neuen openITCOCKPIT-Benutzer und eine neue Benutzerrolle ohne Berechtigungen zu erstellen.

Um Webhooks einzurichten, ist ein openITCOCKPIT API-Schlüssel erforderlich.

Jira Data Center

Jira Einstellungen -> System

Um einen Webhook zu erstellen, navigieren Sie zu System -> Webhooks und klicken Sie oben rechts auf Einen WebHook erstellen.

Bestätigungs-Webhook

Jira -> Webhook erstellen

Kopieren und fügen Sie die Webhook-URL für Bestätigungen ein, die in den Jira-Einstellungen in openITCOCKPIT angezeigt wird.

Wichtige Einstellungen sind:

  • Name: openITCOCKPIT Acknowledge
  • URL: Siehe openITCOCKPIT Jira-Einstellungen
  • Beschreibung: Wird verwendet, um Host- und Dienstprobleme in openITCOCKPIT zu bestätigen

Warning

Jira erfordert ein gültiges SSL-Zertifikat für den Webhook-Endpunkt!

Klicken Sie unten auf der Seite auf Erstellen, um den Webhook zu speichern.

Jira Bestätigungs-Webhook erstellen

Schließen-Problem-Webhook

Erstellen Sie einen zweiten Webhook, um openITCOCKPIT zu benachrichtigen, wenn ein Problem in Jira geschlossen wird.

Kopieren und fügen Sie die Webhook-URL für geschlossene Probleme ein, die in den Jira-Einstellungen in openITCOCKPIT angezeigt wird.

Wichtige Einstellungen sind:

  • Name: openITCOCKPIT Close
  • URL: Siehe openITCOCKPIT Jira-Einstellungen
  • Beschreibung: Wird verwendet, um openITCOCKPIT zu benachrichtigen, wenn ein Problem in Jira geschlossen wird

Klicken Sie unten auf der Seite auf Erstellen, um den Webhook zu speichern.

Jira Schließen-Webhook erstellen

Weitere Informationen zu Webhooks finden Sie in der offiziellen Jira-Dokumentation: https://confluence.atlassian.com/adminjiraserver/managing-webhooks-938846912.html

Workflow bearbeiten

Es ist wichtig, den Workflow Ihres Jira-Projekts zu aktualisieren; andernfalls wird Jira die Webhooks nicht aufrufen oder openITCOCKPIT über Problemaktualisierungen informieren.

Jira Einstellungen -> Projekt

Navigieren Sie zu Projekte und wählen Sie das entsprechende Jira-Projekt aus. Klicken Sie auf der linken Seite auf Arbeitsabläufe, dann auf Ihren Workflow und wählen Sie oben rechts Bearbeiten.

Jira Einstellungen -> Projekt -> Workflow Jira Einstellungen -> Projekt -> Workflow -> Bearbeiten

Bestätigungs-Webhook auslösen

In diesem Fall konfigurieren Sie Jira so, dass eine Bestätigung in openITCOCKPIT erstellt wird, wenn ein Problem in den Status In Progress verschoben wird. Dies kann je nach Workflow variieren, aber das Grundprinzip ist dasselbe. Um den Webhook auszuführen, klicken Sie auf Alle und dann auf Folgefunktionen auf der rechten Seite.

Jira Einstellungen -> Workflow -> Post-Funktion hinzufügen

Sie sehen eine Liste aller Standard-Post-Funktionen. Klicken Sie auf Folgefunktionen hinzufügen.

Jira Einstellungen -> Workflow -> Neue Post-Funktion hinzufügen

Wählen Sie Einen Webhook auslösen und wählen Sie den openITCOCKPIT Acknowledge Webhook.

Jira Einstellungen -> Workflow -> Neue Post-Funktion hinzufügen -> Webhook auswählen Jira Einstellungen -> Workflow -> Neue Post-Funktion hinzufügen -> Den openITCOCKPIT Webhook auswählen

Sobald dies erledigt ist, wird der openITCOCKPIT Webhook zur Liste der Folgefunktionen hinzugefügt. Um die Einstellungen zu übernehmen, ist es wichtig, den neuen Workflow zu veröffentlichen.

Jira Einstellungen -> Workflow -> Veröffentlichen

Schließen-Webhook auslösen

Wiederholen Sie die oben beschriebenen Schritte, fügen Sie diesmal jedoch die Folgefunktion zu Ihrem Fertig-Status hinzu.

Jira Einstellungen -> Workflow -> Post-Funktion hinzufügen Jira Einstellungen -> Workflow -> Veröffentlichen

Jira Cloud

Jira Cloud bietet Automatisierungen, die mit einem einfachen Editor in den Projekteinstellungen erstellt werden können.

Navigieren Sie zuerst in die Projekteinstellungen, wählen Sie Automatisierung auf der linken Seite, wählen Sie Regeln und Regel erstellen.

Jira Cloud Neue Regel erstellen

Falls dies die erste Regel ist, die Sie erstellen, zeigt die Jira-Weboberfläche ein kleines Tutorial an. Es wird empfohlen, das Tutorial zu lesen.

Fügen Sie nun einen neuen Vorgang weitergegeben-Trigger hinzu. Wählen Sie die Zustände aus, bei denen Sie den Webhook aufrufen möchten, also von To Do -> In Progress in diesem Fall.

Jira Cloud Trigger hinzufügen

Klicken Sie auf Add component und fügen Sie eine neue Aktion Web-Anfrage senden hinzu.

Wichtige Einstellungen sind:

  • Web Request URL: Siehe openITCOCKPIT Jira-Einstellungen und kopieren Sie die Webhook-URL
  • HTTP-Methode: POST
  • Web request body: Vorgangsdaten (Jira-Format)

Jira Cloud Aktion hinzufügen

Speichern Sie die Automatisierung in der oberen rechten Ecke und wiederholen Sie die Schritte für die Schließungstransition und den Schließen-Webhook.

Makros

Makros (benutzerdefinierte Variablen) können verwendet werden, um das Standard-Jira-Projekt zu überschreiben, einen Bearbeiter oder ein übergeordnetes Problem hinzuzufügen oder den Problemtyp zu ändern. Diese Einstellungen können als benutzerdefinierte Variablen für Hosts, Dienste oder Kontakte definiert werden.

  • JIRA_ASSIGNEE - Jira-Benutzername wie jdoe zur Zuweisung des Problems
  • JIRA_PROJECT - Projektschlüssel zur Überschreibung des Standardprojekts, z.B. PX
  • JIRA_ISSUE_TYPE - Zur Überschreibung des Standard-Probletyps, z.B. Bug oder Task
  • JIRA_PARENT_ISSUE - Ein gültiges Jira-Issue, das als "verwandtes Problem" zugewiesen werden soll (z.B. PX-30)

Notice

Jira Cloud-Benutzer: Das Makro JIRA_ISSUE_TYPE erfordert die Übermittlung der Issue Type ID (z.B. 10001) für Jira Cloud!

Kommandos

Standardmäßig bietet openITCOCKPIT die Benachrichtigungsbefehle host-notify-by-jira und service-notify-by-jira. Beide können in der Kontaktkonfiguration verwendet werden, um Jira-Issues aus Warnungen zu erstellen.

host-notify-by-jira

/opt/openitc/frontend/bin/cake JiraModule.jira_notification -q --type host --hostuuid "$HOSTNAME$" --notificationtype "$NOTIFICATIONTYPE$" --state $HOSTSTATEID$ --output "$HOSTOUTPUT$" --longoutput "$LONGHOSTOUTPUT$"

service-notify-by-jira

/opt/openitc/frontend/bin/cake JiraModule.jira_notification -q --type service --hostuuid "$HOSTNAME$" --serviceuuid "$SERVICEDESC$" --notificationtype "$NOTIFICATIONTYPE$" --state $SERVICESTATEID$ --output "$SERVICEOUTPUT$" --longoutput "$LONGSERVICEOUTPUT$"

Sie können einen Bearbeiter, ein Projekt, einen Problemtyp oder ein übergeordnetes Problem als Parameter übergeben. Meistens werden Sie wahrscheinlich benutzerdefinierte Variablen für Kontakte, Hosts oder Dienste verwenden, um dies zu tun. Die folgenden Beispiele zeigen, wie Parameter als benutzerdefinierte Variablen übergeben werden.

Benutzerdefinierte Variablen an den Jira-Benachrichtigungsbefehl übergeben

host-notify-by-jira-macros

/opt/openitc/frontend/bin/cake JiraModule.jira_notification -q --type host --hostuuid "$HOSTNAME$" --notificationtype "$NOTIFICATIONTYPE$" --state $HOSTSTATEID$ --output "$HOSTOUTPUT$" --longoutput "$LONGHOSTOUTPUT$" --jira-assignee "$_CONTACTJIRA_ASSIGNEE$" --jira-project "$_HOSTJIRA_PROJECT$" --jira-issue-type "$_HOSTJIRA_ISSUE_TYPE$" --jira-parent-issue "$_HOSTJIRA_PARENT_ISSUE$"

service-notify-by-jira-macros

/opt/openitc/frontend/bin/cake JiraModule.jira_notification -q --type service --hostuuid "$HOSTNAME$" --serviceuuid "$SERVICEDESC$" --notificationtype "$NOTIFICATIONTYPE$" --state $SERVICESTATEID$ --output "$SERVICEOUTPUT$" --longoutput "$LONGSERVICEOUTPUT$" --jira-assignee "$_CONTACTJIRA_ASSIGNEE$" --jira-project "$_HOSTJIRA_PROJECT$" --jira-issue-type "$_HOSTJIRA_ISSUE_TYPE$" --jira-parent-issue "$_HOSTJIRA_PARENT_ISSUE$"