Exportation/Restauration GitHub

Dialogflow CX s'intègre à GitHub. Cette intégration facilite l'exportation de votre agent vers JSON pour un transfert vers GitHub et l'extraction depuis GitHub pour une restauration d'agent. Le format JSON exporté vers GitHub correspond au contenu du fichier ZIP développé de l'agent exporté.

Cette fonctionnalité vous permet de bénéficier des fonctionnalités de contrôle du code source GitHub, telles que:

Limites

Les limites suivantes s'appliquent :

  • GitHub impose une limite de débit pour le nombre de requêtes par heure (5 000 pour les comptes non professionnels, 15 000 pour les comptes d'entreprise). Si votre agent push dépasse cette limite, la console Dialogflow signale l'erreur de limite de débit. Vous pourrez réessayer d'effectuer le transfert au bout d'une heure.
  • Les API GitHub limitent le nombre de fichiers pouvant être mis à jour dans un seul commit. Si le nombre de fichiers dépasse 500, vous ne pourrez peut-être pas effectuer le transfert vers GitHub depuis Dialogflow. Dans ce cas, vous pouvez exporter
    l'agent en tant que fichier ZIP et utiliser la CLI Git sur votre ordinateur pour transférer les fichiers de l'agent vers GitHub. Cette limitation sera traitée dans une prochaine version de Dialogflow.
  • Les dépôts d'accès auto-hébergé ne sont pas compatibles, car Dialogflow ne peut pas y accéder.
  • Le dépôt GitHub ne peut contenir que les fichiers d'agent exportés par l'agent. Tous les autres fichiers du dépôt seront supprimés à chaque transfert.

Configuration

Pour configurer cette intégration:

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Cliquez sur l'onglet Gestion.
  5. Cliquez sur Git dans la section Testing & Deployment (Tests et déploiement).
  6. Cliquez sur Ajouter une intégration Git. Une boîte de dialogue de configuration s'ouvre.
  7. Saisissez les informations suivantes :
    • Nom à afficher pour la connexion GitHub.
    • URL du dépôt GitHub (par exemple, https://api.github.com/repos/<repository_owner>/<repository_name>).
    • Ajoutez les branches GitHub avec lesquelles votre agent interagira. Vous pouvez désigner une branche comme branche par défaut en cliquant sur l'icône en forme d'étoile située à côté.
    • Une fois défini, le jeton personnel GitHub ne peut pas être affiché. Seules les mises à jour sont compatibles. Si vous utilisez un jeton d'accès personnel ultraprécis, vous devez disposer des autorisations suivantes :
      • Autorisations du dépôt > Contenu: lecture et écriture
      • Autorisations du dépôt > Métadonnées: lecture seule (doit être sélectionné automatiquement après la sélection de l'autorisation Contenu)
  8. Cliquez sur Connect (Se connecter).

Vous pouvez modifier cette configuration à tout moment en cliquant sur l'icône de modification.

Déploiement et restauration

Une fois votre agent configuré, vous pouvez le transférer vers/depuis GitHub.

Le bouton Push permet d'exporter votre agent et de valider la branche GitHub sélectionnée dans le menu déroulant "Branche Git". Ce commit comprendra l'intégralité de l'agent et non des modifications spécifiques, et supprimera tous les fichiers existants dans le dépôt.

Pour les nouveaux dépôts, assurez-vous qu'il existe au moins un commit depuis GitHub avant d'utiliser l'option push dans la console Dialogflow.

Les utilisateurs dotés du rôle de lecteur Dialogflow peuvent effectuer un transfert vers des dépôts GitHub. Pour éviter les transferts indésirables, configurez ces agents avec des jetons d'accès personnels en lecture seule.

Le bouton Restore (Restaurer) permet d'extraire les données de l'agent à partir de la branche GitHub sélectionnée dans la liste déroulante de la branche Git et de restaurer votre agent Dialogflow à partir de ces données. Cette opération écrasera votre agent de la même manière que n'importe quelle restauration d'agent.

Exemple d'utilisation

L'exemple suivant montre comment cette fonctionnalité peut être utilisée par plusieurs personnes pour proposer différentes modifications à un agent de production.

Notez que votre agent utilise les branches GitHub suivantes:

  • Prod: branche de votre agent de production
  • Dev1: branche pour le développement de l'agent.
  • Dev2: autre branche pour le développement d'agents.

L'utilisateur 1 souhaite proposer des modifications d'agent et effectue les étapes suivantes:

  1. Exportez l'agent de production vers un nouvel agent.
  2. Apportez les modifications souhaitées à cette copie de l'agent.
  3. Testez les modifications.
  4. Transférez l'agent modifié vers la branche Dev1.
  5. Créez une demande de fusion pour la branche Prod.

L'utilisateur 2 souhaite proposer des modifications d'agent et effectue les étapes suivantes:

  1. Exportez l'agent de production vers un nouvel agent.
  2. Apportez les modifications souhaitées à cette copie de l'agent.
  3. Testez les modifications.
  4. Transférez l'agent modifié vers la branche Dev2.
  5. Créez une demande de fusion pour la branche Prod.

L'utilisateur 3 examine les demandes de fusion des deux utilisateurs et procède comme suit:

  1. Résolvez les conflits.
  2. Validation des modifications approuvées.
  3. Restaure la branche GitHub de production vers l'agent Dialogflow de production.