GitHub-Export/-Wiederherstellung

Conversational Agents (Dialogflow CX) lassen sich in GitHub einbinden. Mit dieser Integration können Sie Ihren Agenten ganz einfach in JSON exportieren, um ihn auf GitHub hochzuladen, und ihn von GitHub abrufen, um ihn wiederherzustellen. Das JSON-Exportformat, das auf GitHub gepusht wird, ist der entpackte Inhalt der ZIP-Datei des exportierten Agents.

Mit dieser Funktion können Sie die folgenden Funktionen der GitHub-Versionsverwaltung nutzen:

Beschränkungen

Es gelten folgende Einschränkungen:

  • GitHub hat eine Geschwindigkeitsbeschränkung für die Anzahl der Anfragen pro Stunde (5.000 für Nicht-Enterprise-Konten, 15.000 für Enterprise-Konten). Wenn Ihr Agent-Push dieses Limit überschreitet, wird in der Dialogflow CX-Konsole der Fehler „Ratenbegrenzung“ angezeigt. Sie können den Push nach einer Stunde noch einmal versuchen.
  • 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 nicht von Conversational Agents (Dialogflow CX) aus auf GitHub pushen. In solchen Fällen können Sie den Agenten als ZIP-Datei exportieren und die Agentdateien mit der Git-Befehlszeile auf Ihrem Computer auf GitHub pushen.
    Diese Einschränkung wird in einer späteren Version von Conversational Agents (Dialogflow CX) behoben.
  • Der private Zugriff auf selbst gehostete Repos wird nicht unterstützt, da Conversational Agents (Dialogflow CX) nicht auf diese Repos zugreifen können.
  • Das GitHub-Repository darf keine anderen Dateien als die vom Agentenexport exportierten Agentendateien enthalten. Alle anderen Dateien im Repository werden bei jedem Push entfernt.

Konfiguration

So konfigurieren Sie diese Integration:

  1. Öffnen Sie die Dialogflow CX Console.
  2. Wählen Sie Ihr Google Cloud-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Klicke auf den Tab Verwalten.
  5. Klicken Sie im Abschnitt Testing & Deployment (Testen und Bereitstellen) auf Git.
  6. Klicken Sie auf Git-Integration hinzufügen. Daraufhin wird ein Konfigurationsdialogfeld geöffnet.
  7. Geben Sie Folgendes ein:
    • Anzeigename für die GitHub-Verbindung.
    • GitHub-Repository-URL (z. B. https://api.github.com/repos/<repository_owner>/<repository_name>).
    • Fügen Sie GitHub-Branches hinzu, mit denen Ihr Kundenservicemitarbeiter interagieren wird. Sie können einen Branch als Standardbranch festlegen, indem Sie neben ihm auf das Sternsymbol klicken.
    • Das persönliche GitHub-Token kann nach der Einrichtung nicht mehr angezeigt werden. Es werden nur Aktualisierungen unterstützt. Wenn Sie ein detailliertes persönliches Zugriffstoken verwenden, benötigen Sie die folgenden Berechtigungen:
      • Repository-Berechtigungen > Inhalte: Lesen und Schreiben
      • Repository-Berechtigungen > Metadaten: Lesezugriff (sollte automatisch ausgewählt werden, nachdem die Berechtigung „Inhalte“ ausgewählt wurde)
  8. Klicken Sie auf Verbinden.

Diese Konfiguration kann jederzeit geändert werden, indem Sie auf das Bearbeitungssymbol klicken.

Push und Wiederherstellung

Nach der Konfiguration können Sie Ihren Agenten zu GitHub pushen oder von dort pullen.

Über die Schaltfläche Push können Sie Ihren Agenten exportieren und einen Commit für den im Drop-down-Menü „Git-Branch“ ausgewählten GitHub-Branch vornehmen. Dieser Commit besteht aus dem gesamten Agenten und nicht aus bestimmten Änderungen. Außerdem werden alle vorhandenen Dateien im Repository gelöscht.

Bei neuen Repositories muss mindestens ein Commit von GitHub vorhanden sein, bevor Sie die Push-Option in der Dialogflow CX-Konsole verwenden können.

Nutzer mit der Rolle Dialogflow Reader können Push-Vorgänge auf GitHub-Repositories ausführen. Um unerwünschte Push-Nachrichten zu verhindern, konfigurieren Sie diese Kundenservicemitarbeiter mit schreibgeschützten persönlichen Zugriffstokens.

Über die Schaltfläche Wiederherstellen können Sie die Agent-Daten aus dem GitHub-Branch abrufen, der im Drop-down-Menü „Git-Branch“ ausgewählt ist, und Ihren Conversational Agent (Dialogflow CX) anhand dieser Daten wiederherstellen. Dadurch wird Ihr Agent auf die gleiche Weise überschrieben wie bei jeder anderen Agentwiederherstellung.

Anwendungsbeispiel

Im folgenden Beispiel wird gezeigt, wie diese Funktion von mehreren Personen verwendet werden kann, um einem Produktionsmitarbeiter verschiedene Änderungen vorzuschlagen.

Angenommen, Ihr Kunde verwendet die folgenden GitHub-Branches:

  • Prod: Branch für deinen Produktions-Agenten
  • Dev1: Branch für die Entwicklung von Kundenservicemitarbeitern
  • Dev2: ein weiterer Branch für die Entwicklung von Kundenservicemitarbeitern

Nutzer 1 möchte Änderungen an einem Kundenservicemitarbeiter vorschlagen und führt dazu die folgenden Schritte aus:

  1. Exportieren Sie den Produktions-Agenten in einen neuen Agenten.
  2. Nehmen Sie die gewünschten Änderungen an diesem Kundenservicemitarbeiter-Text vor.
  3. Testen Sie die Änderungen.
  4. Übertragen Sie den geänderten Agenten per Push auf den Dev1-Zweig.
  5. Erstellen Sie einen Zusammenführungsantrag für den Prod-Zweig.

Nutzer 2 möchte Änderungen an einem Kundenservicemitarbeiter vorschlagen und führt dazu die folgenden Schritte aus:

  1. Exportieren Sie den Produktions-Agenten in einen neuen Agenten.
  2. Nehmen Sie die gewünschten Änderungen an diesem Kundenservicemitarbeiter-Text vor.
  3. Testen Sie die Änderungen.
  4. Übertragen Sie den geänderten Agenten per Push auf den Dev2-Zweig.
  5. Erstellen Sie einen Zusammenführungsantrag für den Prod-Zweig.

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

  1. Konflikte beheben
  2. Genehmigte Änderungen werden übernommen.
  3. Der Produktions-GitHub-Branch wird im Produktions-Conversational Agents (Dialogflow CX)-Agent wiederhergestellt.