Git-Export/-Wiederherstellung

Dialogflow CX lässt sich in mehrere Git-Anbieter (GitHub, GitLab, Bitbucket und andere) einbinden. Mit dieser Integration können Sie Ihren Agent ganz einfach als JSON-Datei exportieren, um ihn an einen Git-Anbieter zu senden, und ihn von einem Git-Anbieter abrufen, um einen Agenten wiederherzustellen. Das exportierte JSON-Format, das an einen Git-Anbieter gesendet wird, entspricht dem Inhalt der erweiterten ZIP-Datei des exportierten Agent.

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

  • Überprüfung von Agent-Änderungen mit Tools für Code Reviews
  • Überprüfung von Agent-Unterschieden mit Tools zur Differenzanalyse
  • Zusammenführungen

Beschränkungen

Es gelten folgende Einschränkungen:

  • [Nur alte Version der Integration] Die 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 übersteigt, können Sie möglicherweise keine Daten von Dialogflow CX an GitHub senden. In solchen Fällen können Sie den Agent als ZIP-Datei exportieren und die Git CLI auf Ihrem Computer verwenden, um die Agent-Dateien an GitHub zu senden. Diese Einschränkung wird in einer späteren Version von Dialogflow CX behoben.
  • Selbst gehostete private GitHub-Repositories werden 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 müssen ein persönliches GitHub-Token abrufen. Wenn Sie ein detailliertes persönliches Zugriffstoken verwenden, benötigen Sie die folgenden Berechtigungen:

  • Repository Permissions > Contents (Repository-Berechtigungen > Inhalte): Lesen und Schreiben
  • Repository Permissions > Metadata (Repository-Berechtigungen > Metadaten): Nur lesen (sollte automatisch ausgewählt werden, nachdem die Berechtigung für Inhalte ausgewählt wurde)

GitLab

Sie müssen ein persönliches GitLab-Zugriffstoken abrufen.

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. Erstellen Sie ein Secret.

Dialogflow CX-Konfiguration

So konfigurieren Sie diese Integration für Dialogflow CX:

  1. Gewähren Sie dem Dialogflow-Dienst-Agent die Berechtigung für den Zugriff auf das Zugriffstoken-Secret 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:
    • Conversational Agents-Konsole
      1. Öffnen Sie die Einstellungen, indem Sie rechts oben auf das Symbol „Einstellungen“ klicken.
      2. Scrollen Sie nach unten und klicken Sie auf Git-Integration hinzufügen.
    • Dialogflow CX-Konsole
      1. Klicken Sie auf den Tab Verwalten.
      2. Klicken Sie im Bereich Testen und Bereitstellung 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-Zweige hinzu, mit denen Ihr Agent interagieren soll. Sie können einen Zweig als Standardzweig festlegen, indem Sie auf das Sternsymbol daneben klicken.
      • Zugriffstoken-Secret, d. h. 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 Konsole werden Benachrichtigungen angezeigt.

Push und Wiederherstellung

Nach der Konfiguration können Sie Ihren Agent an Git senden und von Git abrufen.

Mit der Schaltfläche Push können Sie Ihren Agent exportieren und einen Commit an den Git-Zweig senden, der im Drop-down-Menü „Git-Zweig“ ausgewählt ist. Dieser Commit besteht aus dem gesamten Agent und nicht aus bestimmten Änderungen. Alle vorhandenen Dateien im Repository werden gelöscht.

Nutzer mit der Rolle Dialogflow-Leser können Daten an Git-Repositories senden. Um unerwünschte Push-Vorgänge zu verhindern, konfigurieren Sie diese Agent mit schreibgeschützten persönlichen Zugriffstokens.

Mit der Schaltfläche Wiederherstellen können Sie Ihre Agent-Daten aus dem Git-Zweig abrufen, der im Drop-down-Menü „Git-Zweig“ ausgewählt ist, und Ihren Dialogflow CX-Agent aus diesen Daten wiederherstellen. Dadurch wird Ihr Agent auf dieselbe Weise überschrieben wie bei jeder anderen Agent-Wiederherstellung.

Anwendungsbeispiel

Das folgende Beispiel veranschaulicht, wie diese Funktion von mehreren Personen verwendet werden kann, um verschiedene Agent-Änderungen für einen Produktions-Agent vorzuschlagen.

Angenommen, Ihr Agent verwendet die folgenden Git-Zweige:

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

Nutzer 1 möchte Agent-Änderungen vorschlagen und führt die folgenden Schritte aus:

  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. Senden Sie den geänderten Agent an den Zweig Dev1.
  5. Erstellen Sie eine Zusammenführungsanfrage für den Zweig Prod.

Nutzer 2 möchte Agent-Änderungen vorschlagen und führt die folgenden Schritte aus:

  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. Senden Sie den geänderten Agent an den Zweig Dev2.
  5. Erstellen Sie eine Zusammenführungsanfrage für den Zweig Prod.

Nutzer 3 prüft die Zusammenführungsanfragen beider Nutzer und führt die folgenden Schritte aus:

  1. Konflikte lösen.
  2. Genehmigte Änderungen werden übernommen.
  3. Der Git-Produktionszweig wird für den Dialogflow CX-Produktions-Agent wiederhergestellt.