Git-Export/-Wiederherstellung

Dialogflow CX lässt sich in mehrere Git-Anbieter (GitHub, GitLab, Bitbucket usw.) einbinden. Diese Integration erleichtert den Export Ihres Agents in JSON für das Pushen zu einem Git-Anbieter sowie das Abrufen von einem Git-Anbieter für eine Agent-Wiederherstellung. Das in einen Git-Anbieter übertragene exportierte JSON-Format entspricht dem Inhalt der entpackten ZIP-Datei des exportierten Agents.

Mit dieser Funktion können Sie die Versionsverwaltungsfunktionen eines Git-Anbieters nutzen, z. B.:

  • Agentenänderungen mit Codeprüfungstools überprüfen
  • Agent-Differenzen mit Differenztools untersuchen
  • Zusammenführungen

Beschränkungen

Es gelten folgende Einschränkungen:

  • [Nur alte Integrationsversion] GitHub-APIs haben eine Beschränkung für die Anzahl der Dateien, die in einem einzelnen Commit aktualisiert werden können. Wenn die Anzahl der Dateien 500 überschreitet, können Sie möglicherweise nicht von Dialogflow CX auf GitHub pushen. In solchen Fällen können Sie den Agent als ZIP-Datei exportieren und die Git-Befehlszeile auf Ihrem Computer verwenden, um die Agent-Dateien auf GitHub zu übertragen. Diese Einschränkung wird in einer späteren Dialogflow CX-Version behoben.
  • Der private Zugriff auf selbst gehostete GitHub-Repositories wird nicht unterstützt, da Dialogflow CX nicht auf diese Repositories zugreifen kann.
  • Das Git-Repository darf keine anderen Dateien als die vom Agent-Export exportierten Agent-Dateien enthalten. Alle anderen Dateien im Repository werden bei jedem Push entfernt.

Konfiguration

Um diese Funktion zu konfigurieren, müssen Sie ein Zugriffstoken von Ihrem Git-Anbieter abrufen, es in Secret Manager speichern und die Secret-Ressource für Dialogflow CX bereitstellen:

Zugriffstoken

So rufen Sie ein Zugriffstoken von Ihrem Git-Anbieter ab:

GitHub

Sie benötigen ein persönliches GitHub-Token. Wenn Sie ein detailliertes persönliches Zugriffstoken verwenden, benötigen Sie die folgenden Berechtigungen:

  • Repository Permissions > Contents (Repository-Berechtigungen > Inhalte): Read and write (Lesen und Schreiben)
  • Repository Permissions > Metadata (Repository-Berechtigungen > Metadaten): „Read-only“ (Nur lesen) (sollte nach Auswahl der Berechtigung „Contents“ (Inhalte) automatisch ausgewählt werden)

GitLab

Sie benötigen ein persönliches GitLab-Zugriffstoken.

Bitbucket

Sie müssen ein Bitbucket-Zugriffstoken abrufen.

Secret Manager

Nachdem Sie ein Zugriffstoken haben, müssen Sie ein Secret für Ihr Token erstellen:

  1. Aktivieren Sie die Secret Manager API.
  2. Secret erstellen

Dialogflow CX-Konfiguration

So konfigurieren Sie diese Integration für Dialogflow CX:

  1. Gewähren Sie dem Dialogflow-Dienstkonto die Berechtigung für den Zugriff auf das Secret für das Zugriffstoken in Secret Manager. Weisen Sie dem Dienstkonto gcp-sa-dialogflow.iam.gserviceaccount.com in Ihrem Agent-Projekt die Rolle Secret Manager Secret Accessor zu. Weitere Informationen finden Sie unter Zugriff auf Secret Manager-Secret gewähren.
  2. Öffnen Sie die Konfiguration der Git-Integration:
    • Konsole für Konversations-Agenten
      1. Öffnen Sie die Einstellungen, indem Sie rechts oben auf das Einstellungssymbol klicken.
      2. Scrollen Sie nach unten und klicken Sie auf Git-Integration hinzufügen.
    • Dialogflow CX-Konsole
      1. Klicke auf den Tab Verwalten.
      2. Klicken Sie im Bereich Testen und Bereitstellen auf Git.
      3. Klicken Sie auf Neu erstellen.
  3. Geben Sie die Konfigurationsdetails an:
    1. Geben Sie Folgendes ein:
      • Anzeigename für die GitHub-Verbindung.
      • Git-Repository-URL (z. B. https://github.com/<path-to-repo>.git).
      • Fügen Sie Git-Branches hinzu, mit denen Ihr Agent interagieren soll. Sie können einen Zweig als Standardzweig festlegen, indem Sie auf das Sternsymbol daneben klicken.
      • Secret für das Zugriffstoken, also die Secret-Version, die Sie im Format projects/*/secrets/*/versions/* für eine bestimmte Version oder projects/*/secrets/*/versions/latest für die neueste Version erstellt haben.
    2. Klicken Sie auf Verbinden.
    3. Es kann eine Minute dauern, bis der Git-Dienst bereit ist. In der Console werden Benachrichtigungen angezeigt.

Push und Wiederherstellung

Nach der Konfiguration können Sie Ihren Agent in Git übertragen oder aus Git abrufen.

Mit der Schaltfläche Push wird Ihr Agent exportiert und ein Commit für den Git-Zweig ausgeführt, der in der Drop-down-Liste für Git-Zweige ausgewählt ist. Dieser Commit besteht aus dem gesamten Agent und nicht aus bestimmten Änderungen. Außerdem werden alle vorhandenen Dateien im Repository gelöscht.

Nutzer mit der Rolle Dialogflow Reader können Änderungen in Git-Repositories übertragen. Um unerwünschte Push-Vorgänge zu verhindern, konfigurieren Sie diese Agents mit schreibgeschützten persönlichen Zugriffstokens.

Mit der Schaltfläche Wiederherstellen werden Ihre Agent-Daten aus dem im Drop-down-Menü für Git-Branch ausgewählten Git-Branch abgerufen und Ihr Dialogflow CX-Agent aus diesen Daten wiederhergestellt. Dadurch wird Ihr Agent auf dieselbe Weise überschrieben wie bei einer Wiederherstellung.

Anwendungsbeispiel

Im folgenden Beispiel wird veranschaulicht, wie diese Funktion von mehreren Personen verwendet werden kann, um verschiedene Änderungen an einem Produktions-Agenten vorzuschlagen.

Angenommen, Ihr Agent verwendet die folgenden Git-Zweige:

  • Prod: Branch für Ihren Produktions-Agent
  • Dev1: Branch für die Entwicklung von Kundenservicemitarbeitern
  • Dev2: Ein weiterer Branch für die Agent-Entwicklung

Nutzer 1 möchte Änderungen an einem Agent vorschlagen und geht so vor:

  1. Exportieren Sie den Produktions-Agent in einen neuen Agent.
  2. Nehmen Sie die gewünschten Änderungen an dieser Agent-Kopie vor.
  3. Testen Sie die Änderungen.
  4. Übertragen Sie den geänderten Agenten per Push in den Zweig Dev1.
  5. Erstellen Sie eine Merge-Anfrage für den Prod-Zweig.

Nutzer 2 möchte Änderungen am Agent vorschlagen und geht so vor:

  1. Exportieren Sie den Produktions-Agent in einen neuen Agent.
  2. Nehmen Sie die gewünschten Änderungen an dieser Agent-Kopie vor.
  3. Testen Sie die Änderungen.
  4. Übertragen Sie den geänderten Agent per Push in den Dev2-Zweig.
  5. Erstellen Sie eine Merge-Anfrage für den Prod-Zweig.

Nutzer 3 prüft die Merge-Anfragen beider Nutzer und führt die folgenden Schritte aus:

  1. Konflikte lösen
  2. Mit Commits werden Änderungen genehmigt.
  3. Stellt den Produktions-Git-Zweig für den Produktions-Dialogflow CX-Agent wieder her.