Einrichten von Openflow Connector for Jira Cloud

Bemerkung

Der Konnektor unterliegt den Bedingungen für Konnektoren.

Unter diesem Thema werden die Schritte zur Einrichtung von Openflow Connector for Jira Cloud beschrieben.

Voraussetzungen

  1. Stellen Sie sicher, dass Sie Allgemeine Informationen zu Openflow Connector for Jira Cloud gelesen haben.

  2. Stellen Sie sicher, dass Sie Openflow eingerichtet haben.

Die Anmeldeinformationen erhalten

Führen Sie als Jira Cloud-Administrator die folgenden Aufgaben in Ihrem Atlassian-Konto aus:

  1. Navigieren Sie zur Seite API-Token.

  2. Wählen Sie Create API token with scopes aus.

  3. Geben Sie im Dialogfeld Create an API token einen beschreibenden Namen für das API-Token ein und wählen Sie ein Ablaufdatum für das API-Token. Diese kann zwischen 1 und 365 Tagen liegen.

  4. Wählen Sie die Api-Token-App Jira aus.

  5. Wählen Sie die Jira-Zugriffsbereiche read:jira-work und read:jira-user.

  6. Wählen Sie Create token aus.

  7. Wählen Sie im Dialogfeld Copy your API token die Option Copy, um Ihr generiertes API-Token zu kopieren. Fügen Sie das Token in die Verbindungsparameter ein, oder speichern Sie es sicher.

  8. Wählen Sie Close aus, um das Dialogfeld zu schließen.

Snowflake-Konto einrichten

Als Snowflake-Kontoadministrator führen Sie die folgenden Aufgaben aus:

  1. Erstellen Sie eine neue Rolle oder verwenden Sie eine vorhandene Rolle.

  2. Erstellen Sie einen neuen Benutzer für den Snowflake-Dienst mit dem Typ SERVICE.

  3. Weisen Sie dem Benutzer des Snowflake-Dienstes die Rolle zu, die Sie in den vorherigen Schritten erstellt haben.

  4. Konfigurieren Sie mit Schlüsselpaar-Authentifizierung für den Snowflake SERVICE-Benutzer aus Schritt 2.

  5. Snowflake empfiehlt diesen Schritt dringend. Konfigurieren Sie einen von Openflow unterstützten Geheimnismanager, z. B. AWS, Azure und Hashicorp, und speichern Sie die öffentlichen und privaten Schlüssel im Geheimnisspeicher.

    Bemerkung

    Wenn Sie aus irgendeinem Grund keinen Geheimnismanager verwenden möchten, sind Sie dafür verantwortlich, die für die Schlüsselpaar-Authentifizierung verwendeten öffentlichen und privaten Schlüsseldateien gemäß den Sicherheitsrichtlinien Ihrer Organisation zu schützen.

    1. Nachem der Geheimnismanager konfiguriert ist, legen Sie fest, wie Sie sich bei ihm authentifizieren möchten. Auf AWS wird empfohlen, die mit Openflow verknüpfte EC2-Instanzrolle zu verwenden, da auf diese Weise keine weiteren Geheimnisse gespeichert werden müssen.

    2. Konfigurieren Sie in Openflow einen mit diesem Geheimnismanager verknüpften Parameter Provider über das Hamburger-Menü oben rechts. Navigieren Sie zu Controller Settings » Parameter Provider, und rufen Sie Ihre Parameterwerte ab.

    3. Zu diesem Zeitpunkt können alle Anmeldeinformationen mit den zugehörigen Parameterpfaden referenziert werden, und es müssen keine sensiblen Werte innerhalb von Openflow aufbewahrt werden.

  6. Wenn andere Snowflake-Benutzer Zugriff auf die vom Konnektor aufgenommenen Rohdokumente und -tabellen benötigen (z. B. für die benutzerdefinierte Verarbeitung in Snowflake), weisen Sie diesen Benutzern die in Schritt 1 erstellte Rolle zu.

  7. Erstellen Sie in Snowflake eine Datenbank und ein Schema für den Konnektor, um die aufgenommenen Daten zu speichern. Erteilen Sie der im ersten Schritt erstellten Rolle die folgenden Berechtigungen von Datenbanken.

    CREATE DATABASE jira_destination_db;
    CREATE SCHEMA jira_destination_db.jira_destination_schema;
    GRANT USAGE ON DATABASE jira_destination_db TO ROLE <jira_connector_role>;
    GRANT USAGE ON SCHEMA jira_destination_db.jira_destination_schema TO ROLE <jira_connector_role>;
    GRANT CREATE TABLE, CREATE VIEW ON SCHEMA jira_destination_db.jira_destination_schema TO ROLE <jira_connector_role>;
    
    Copy
  8. Erstellen Sie ein Warehouse, das vom Konnektor verwendet werden soll, oder verwenden Sie ein vorhandenes. Beginnen Sie mit der kleinsten Warehouse-Größe und experimentieren Sie dann mit der Größe in Abhängigkeit von der Anzahl der zu replizierenden Tabellen und der Menge der übertragenen Daten. Große Tabellenzahlen lassen sich in der Regel besser mit Multi-Cluster-Warehouses skalieren als mit größeren Warehouse-Größen.

  9. Stellen Sie sicher, dass der Benutzer mit der Rolle, die der Konnektor verwendet, über die erforderlichen Berechtigungen zur Nutzung des Warehouse verfügt. Wenn das nicht der Fall ist, erteilen Sie der Rolle die erforderlichen Berechtigungen.

    CREATE WAREHOUSE jira_connector_warehouse WITH WAREHOUSE_SIZE = 'X-Small';
    GRANT USAGE ON WAREHOUSE jira_connector_warehouse TO ROLE <jira_connector_role>;
    
    Copy

Einrichten des Konnektors

Als Data Engineer führen Sie die folgenden Aufgaben aus, um den Konnektor zu installieren und zu konfigurieren:

Konnektor installieren

  1. Navigieren Sie zur Openflow-Übersichtsseite. Wählen Sie im Abschnitt Featured connectors die Option View more connectors aus.

  2. Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.

  3. Wählen Sie im Dialog Select runtime Ihre Laufzeit aus der Dropdown-Liste Available runtimes aus.

  4. Wählen Sie Add aus.

    Bemerkung

    Bevor Sie den Konnektor installieren, stellen Sie sicher, dass Sie in Snowflake eine Datenbank und ein Schema für den Konnektor erstellt haben, in dem die aufgenommenen Daten gespeichert werden.

  5. Authentifizieren Sie sich bei der Bereitstellung mit den Anmeldedaten Ihres Snowflake-Kontos und wählen Sie Allow, wenn Sie dazu aufgefordert werden, damit die Laufzeitanwendung auf Ihr Snowflake-Konto zugreifen kann. Die Installation des Konnektors nimmt einige Minuten in Anspruch.

  6. Authentifizieren Sie sich bei der Laufzeit mit den Anmeldeinformationen Ihres Snowflake-Kontos.

Das Openflow-Canvas wird mit der hinzugefügten Prozessgruppe des Konnektors angezeigt.

Konnektor konfigurieren

  1. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameters.

  2. Geben Sie die erforderlichen Parameterwerte ein, wie unter Ablaufparameter beschrieben.

Ablaufparameter

In diesem Abschnitt werden die Ablaufparameter beschrieben, die Sie anhand der folgenden Parameterkontexte konfigurieren können:

Bemerkung

Durch das Ändern der Parameter in Bezug auf die Datenaufnahmekonfiguration (z. B. Search Type, JQL Query, Project Names und Created After) wird der Status des FetchJiraIssues-Prozessors zurückgesetzt, sodass er alle Probleme erneut abrufen kann. Dies ist nützlich, wenn Sie die Abfragekriterien ändern oder die Datenaufnahme von Grund auf neu starten möchten. Bei dieser Rücksetzaktion wird die Zieltabelle nicht abgeschnitten.

Quellsystemparameter für Jira Cloud

Parameter

Beschreibung

Jira Email

E-Mail-Adresse für das Atlassian-Konto.

Jira API Token

API-Zugriffstoken für Ihr Atlassian Jira-Konto mit den erforderlichen Bereichen(read:jira-work and read:jira-user).

Environment URL

URL für die Atlassian Jira-Umgebung. Beispiel: https://your-domain.atlassian.net.

Zielsystemparameter für Jira Cloud

Parameter

Beschreibung

Destination Database

Die Datenbank, in der die Daten als persistent gespeichert werden. Sie muss bereits in Snowflake vorhanden sein. Beachten Sie, dass beim Namen zwischen Groß- und Kleinschreibung unterschieden wird und im Falle eines Bezeichners ohne Anführungszeichen der Name in Großbuchstaben angegeben werden muss.

Destination Schema

Das Schema, in dem die Daten als persistent gespeichert werden. Sie muss bereits in Snowflake vorhanden sein. Beachten Sie, dass beim Namen zwischen Groß- und Kleinschreibung unterschieden wird und im Falle eines Bezeichners ohne Anführungszeichen der Name in Großbuchstaben angegeben werden muss.

Snowflake Account Identifier

Snowflake-Kontoname im Format [organisation-name]-[account-name], in dem die Daten gespeichert werden

Snowflake Authentication Strategy

Strategie zur Authentifizierung bei Snowflake. Mögliche Werte: SNOWFLAKE_SESSION_TOKEN, wenn Sie den Ablauf auf SPCS ausführen, und KEY_PAIR, wenn Sie den Zugriff mit einem privaten Schlüssel einrichten möchten.

Snowflake Private Key

Der private RSA Schlüssel, der für die Authentifizierung verwendet wird. Der RSA-Schlüssel muss nach den PKCS8-Standards formatiert sein und den Standard-PEM-Header und -Footer enthalten. Beachten Sie, dass entweder Snowflake Private Key File oder Snowflake Private Key definiert sein muss.

Snowflake Private Key File

Die Datei, die den privaten RSA-Schlüssel enthält, der für die Authentifizierung bei Snowflake verwendet wird. Sie ist nach den PKCS8-Standards formatiert und hat die Standard-PEM-Header und -Footer. Die Header beginnt mit -----BEGIN PRIVATE. Aktivieren Sie das Kontrollkästchen Reference asset, um die private Schlüsseldatei hochzuladen.

Snowflake Private Key Password

Das Kennwort, das mit der Snowflake Private Key-Datei verknüpft ist

Snowflake Role

Snowflake-Rolle, die bei der Ausführung der Abfrage verwendet wird

Snowflake-Benutzername

Benutzername für die Verbindung zur Snowflake-Instanz

Snowflake Warehouse

Snowflake Warehouse zur Ausführung von Abfragen

Aufnahmeparameter für Jira Cloud

Parameter

Beschreibung

Search Type

Typ der durchzuführenden Suche. Er hat einen dieser möglichen Werte: SIMPLE und JQL. Standardwert: SIMPLE.

Zieltabelle

Die Snowflake-Tabelle, in der die Daten gespeichert werden. Sie wird erstellt, wenn sie nicht existiert. Der Name der Tabelle darf nicht in Anführungszeichen gesetzt sein und muss in Großbuchstaben angegeben werden. Zusätzlich zur Zieltabelle wird eine vereinfachte Ansicht, die auf der Zieltabelle basiert, erstellt. Der Name der Ansicht ist eine Verkettung aus dem Tabellennamen und dem Suffix _VIEW.

JQL-Abfrage

Eine JQL-Abfrage, die zur Suche nach abrufbereiten Jira-Problemen verwendet wird. Sie sollte nur verwendet werden, wenn der Wert für Search Type JQL lautet.

Project Names

Eine Liste der Projekte, aus denen die Probleme abgerufen werden sollen. Sie können nach Problemen eines bestimmten Projekts anhand des Projektnamens, des Projektschlüssels oder der Projekt-ID suchen. Diese Funktion sollte nur verwendet werden, wenn der Wert für Search Type SIMPLE ist. Geben Sie eine Liste der Elemente getrennt durch Kommas an. Beispiel: Project1, Project2.

Status Category

Statuskategorie-Filter für die einfache Suche. Dies sollte nur verwendet werden, wenn der Suchtyp SIMPLE ist. Beispielwerte sind: Done, In Progress, To Do.

Updated After

Filtert Vorgänge, die nach einem bestimmten Datum und einer bestimmten Uhrzeit aktualisiert wurden. Dies sollte nur verwendet werden, wenn der Suchtyp SIMPLE ist. Es sollte im Format „yyyy-MM-dd“ vorliegen, z. B. 2023-10-01.

Created After

Filtert Vorgänge, die nach einem bestimmten Datum und einer bestimmten Uhrzeit erstellt wurden. Dies sollte nur verwendet werden, wenn der Suchtyp SIMPLE ist. Es sollte im Format „yyyy-MM-dd“ vorliegen, z. B. 2023-10-01.

Issue Fields

Eine Liste der für jedes Problem zurückzugebenden Felder, die zum Abrufen einer Teilmenge der Felder verwendet wird. IDs der kundenspezifischen Felder können anhand dieses Leitfadens ermittelt werden. Dieser Parameter akzeptiert eine durch Kommas getrennte Liste. Sie können spezielle Werte verwenden: *all, um alle Felder abzurufen, *navigable, um navigierbare Felder abzurufen, Feld mit dem Präfix Minus (-), um das Feld auszuschließen. Beispiel: *all,-description gibt alle Felder außer der Beschreibung zurück. Standardwert: *all.

Maximum Page Size

Maximale Anzahl von Problemen, die pro Anfrage zurückgegeben werden sollen, mit einem Standardwert und dem Maximalwert 1000. Beachten Sie, dass die Jira-API je nach Gesamtgröße der Antwort weniger Ergebnisse zurückgeben kann.

Führen Sie den Ablauf aus

  1. Klicken Sie mit der rechten Maustaste auf die Ebene, und wählen Sie Enable all Controller Services.

  2. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start. Der Konnektor startet die Datenaufnahme.

Wenn Sie die Abfragekriterien für Vorgänge ändern oder die Aufnahme von Grund auf neu starten möchten, führen Sie die folgenden Schritte aus, um sicherzustellen, dass die Daten in der Zieltabelle konsistent sind:

  1. Klicken Sie mit der rechten Maustaste auf den Prozessor FetchJiraIssues, und halten Sie ihn an.

  2. Klicken Sie mit der rechten Maustaste auf den Prozessor FetchJiraIssues, und wählen Sie dann View State.

  3. Wählen Sie im Dialogfeld State die Option Clear State aus. Diese Aktion löscht den Status des Prozessors und ermöglicht es ihm, alle Vorgänge erneut abzurufen.

  4. Optional: Wenn Sie die Abfragekriterien für Vorgänge ändern möchten, klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameters. Aktualisieren Sie die Parameter nach Bedarf.

  5. Optional: Wenn Sie den Namen der Zieltabelle ändern möchten, klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameters aus. Aktualisieren Sie den Parameter Destination Table.

  6. Klicken Sie mit der rechten Maustaste auf den Prozessor FetchJiraIssues, und wählen Sie Start aus. Der Konnektor startet die Datenaufnahme.

  7. Nach der Aufnahme sind die Daten in der Snowflake-Zieltabelle und in einem vereinfachten Format in der Zielansicht verfügbar. Die Ansicht enthält alle in der Jira-Instanz verfügbaren Felder.

Zugriff auf die Daten

Daten, die aus Jira abgerufen werden, sind in der Zieltabelle verfügbar. Alle für das Jira-Problem abgerufenen Felder sind in der Spalte ISSUE als Objekt in Rohform verfügbar, das über die API abgerufen wird.

Um das Abfragen der Daten zu erleichtern, wird eine vereinfachte Ansicht auf der Grundlage der Zieltabelle erstellt. Der Name der Ansicht ist eine Verkettung aus dem Tabellennamen und dem Suffix _VIEW. Wenn die Zieltabelle beispielsweise JIRA_ISSUES heißt, dann erhält die Ansicht den Namen JIRA_ISSUES_VIEW. In der Ansicht werden alle Problemfelder extrahiert und stehen als separate Spalten zur Verfügung. Der Spaltenname wird auf die Feldbezeichnung gesetzt. Wenn es viele Probleme mit derselben Bezeichnung gibt, wird ein Suffix mit einer Feld-ID zum Spaltennamen hinzugefügt, um die Eindeutigkeit zu gewährleisten. Wenn es zum Beispiel zwei Felder mit den IDs customfield_1 und customfield_2 gibt, wobei die Bezeichnung in beiden Feldern auf Custom Field gesetzt ist, dann erhalten die Spalten in der Ansicht die Namen Custom Field (customfield_1) und Custom Field (customfield_2).