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.
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.
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
.
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.
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¶
Um einen Webhook zu erstellen, navigieren Sie zu System
-> Webhooks
und klicken Sie oben rechts auf Einen WebHook erstellen
.
Bestätigungs-Webhook¶
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.
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.
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.
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
.
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.
Sie sehen eine Liste aller Standard-Post-Funktionen. Klicken Sie auf Folgefunktionen hinzufügen
.
Wählen Sie Einen Webhook auslösen
und wählen Sie den openITCOCKPIT Acknowledge
Webhook.
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.
Schließen-Webhook auslösen¶
Wiederholen Sie die oben beschriebenen Schritte, fügen Sie diesmal jedoch die Folgefunktion zu Ihrem Fertig
-Status hinzu.
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
.
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.
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)
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 wiejdoe
zur Zuweisung des ProblemsJIRA_PROJECT
- Projektschlüssel zur Überschreibung des Standardprojekts, z.B.PX
JIRA_ISSUE_TYPE
- Zur Überschreibung des Standard-Probletyps, z.B.Bug
oderTask
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.
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$"