GitHub-Export/-Wiederherstellung

Dialogflow CX lässt sich in GitHub einbinden. Durch diese Integration können Sie den Agent in JSON exportieren, um ihn an GitHub zu übertragen, oder von GitHub abrufen, um eine Agent-Wiederherstellung durchzuführen. Das an GitHub exportierte JSON-Format ist die maximierte ZIP-Datei des exportierten Agents.

Mit diesem Feature können Sie die Features der GitHub-Versionsverwaltung wie die folgenden nutzen:

Beschränkungen

Es gelten folgende Einschränkungen:

  • GitHub hat ein Ratenlimit für die Anzahl der Anfragen pro Stunde (5.000 für Nicht-Unternehmenskonten, 15.000 für Unternehmenskonten). Wenn die Push-Übertragung des Agents dieses Limit überschreitet, meldet die Dialogflow-Konsole den Ratenbegrenzungsfehler. Sie können den Push-Vorgang nach einer Stunde wiederholen.
  • Bei GitHub APIs ist die Anzahl der Dateien, die in einem einzelnen Commit aktualisiert werden können, begrenzt. Wenn die Anzahl der Dateien 500 überschreitet, können Sie möglicherweise keine Daten von Dialogflow an GitHub übertragen. 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 per Push an GitHub zu übertragen. Diese Einschränkung wird in einer späteren Dialogflow-Version behoben.
  • Selbst gehostete Repositories mit privatem Zugriff werden nicht unterstützt, da Dialogflow nicht auf diese Repositories zugreifen kann.
  • Das GitHub-Repository darf nur die Agent-Dateien enthalten, die vom Agent-Export exportiert wurden. 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. Klicken Sie auf den Tab Verwalten.
  5. Klicken Sie im Abschnitt Testing & Deployment (Test und Bereitstellung) auf Git.
  6. Klicken Sie auf Git-Integration hinzufügen. Ein Dialogfeld für die Konfiguration wird 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-Zweige hinzu, mit denen der Agent interagieren wird. Sie können einen Zweig als Standardzweig festlegen, indem Sie auf das Sternsymbol daneben klicken.
    • Ein persönliches GitHub-Token kann nicht einmal aufgerufen werden, es werden nur Updates unterstützt. Wenn Sie ein detailliertes persönliches Zugriffstoken verwenden, benötigen Sie die folgenden Berechtigungen:
      • Repository-Berechtigungen > Inhalte: Lese- und Schreibzugriff
      • Repository-Berechtigungen > Metadaten: Schreibgeschützt (sollte nach Auswahl der Berechtigung „Inhalt“ automatisch ausgewählt werden)
  8. Klicken Sie auf Verbinden.

Diese Konfiguration kann jederzeit durch Klicken auf das Bearbeitungssymbol geändert werden.

Übertragen und wiederherstellen

Nach der Konfiguration können Sie den Agent per Push/Abruf zu/von GitHub herunterladen.

Die Schaltfläche Push wird verwendet, um den Agent zu exportieren und einen Commit für den GitHub-Branch durchzuführen, der im Drop-down-Menü des Git-Branch ausgewählt wurde. Dieser Commit umfasst den gesamten Agent und nicht bestimmte Änderungen. Außerdem werden alle im Repository vorhandenen Dateien gelöscht.

Achten Sie bei neuen Repositories darauf, dass mindestens ein Commit von GitHub vorhanden ist, bevor Sie die Push-Option in der Dialogflow-Konsole verwenden.

Nutzer mit der Rolle Dialogflow Reader können Daten in GitHub-Repositories übertragen. Konfigurieren Sie diese Agents mit schreibgeschützten persönlichen Zugriffstokens, um unerwünschte Übertragungen zu verhindern.

Die Schaltfläche Wiederherstellen wird verwendet, um Ihre Agent-Daten aus dem GitHub-Branch abzurufen, der im Drop-down-Menü des Git-Branch ausgewählt wurde, und den Dialogflow-Agent aus diesen Daten wiederherzustellen. Dadurch wird der Agent auf die gleiche Weise überschrieben, wie sich jede Agent-Wiederherstellung verhält.

Anwendungsbeispiel

Das folgende Beispiel zeigt, wie diese Funktion von mehreren Personen verwendet werden kann, um einem Produktions-Agent unterschiedliche Agent-Änderungen vorzuschlagen.

Beachten Sie, dass der Agent die folgenden GitHub-Zweige verwendet:

  • 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 folgende 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. Übertragen Sie den geänderten Agent in den Branch Dev1.
  5. Erstellen Sie eine Zusammenführungsanfrage für den Branch Prod.

Nutzer 2 möchte Agent-Änderungen vorschlagen und führt folgende 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. Übertragen Sie den geänderten Agent in den Branch Dev2.
  5. Erstellen Sie eine Zusammenführungsanfrage für den Branch Prod.

Nutzer 3 prüft Zusammenführungsanfragen beider Nutzer und unternimmt folgende Schritte:

  1. Konflikte lösen.
  2. Führt genehmigte Änderungen durch.
  3. Stellt den GitHub-Produktionszweig im Dialogflow-Produktions-Agent wieder her.