Git-Export/-Wiederherstellung

Konversations-Agents (Dialogflow CX) lassen 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 JSON exportierte Format, das an einen Git-Anbieter übertragen wird, entspricht dem Inhalt der entpackten ZIP-Datei des exportierten Agents.

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

  • Agent-Änderungen mit Tools zur Codeüberprüfung prüfen
  • Agent-Unterschiede 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 keine Push-Vorgänge von Conversational Agents (Dialogflow CX) zu GitHub ausführen. 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 Version von Conversational Agents (Dialogflow CX) behoben.
  • Der private GitHub-Zugriff für selbst gehostete Repos wird nicht unterstützt, da Konversations-Agents (Dialogflow CX) nicht auf diese Repos zugreifen können.
  • 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 dieses Feature zu konfigurieren, müssen Sie ein Zugriffstoken von Ihrem Git-Anbieter abrufen, es in Secret Manager speichern und die Secret-Ressource für Conversational Agents (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

Konfiguration von Konversations-Agents (Dialogflow CX)

So konfigurieren Sie diese Integration für Konversations-Agents (Dialogflow CX):

  1. Gewähren Sie dem Dialogflow-Dienst-Agent die Berechtigung, auf das Secret für das Zugriffstoken in Secret Manager zuzugreifen. 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 daneben auf das Sternsymbol 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 pushen oder aus Git pullen.

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 den Git-Branch ausgewählten Git-Branch abgerufen und Ihr Conversational Agents-Agent (Dialogflow CX) 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-Agent 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 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 Dev1-Zweig.
  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. Genehmigte Änderungen werden übernommen.
  3. Stellt den Produktions-Git-Branch für den Produktions-Konversations-Agent (Dialogflow CX) wieder her.