Exportation/Restauration Git

Dialogflow CX s'intègre à plusieurs fournisseurs Git (GitHub, GitLab, Bitbucket et autres). Cette intégration permet d'exporter facilement votre agent au format JSON pour l'envoyer à un fournisseur Git, et de l'extraire d'un fournisseur Git pour restaurer un agent. Le format JSON exporté et transféré vers un fournisseur Git correspond au contenu du fichier ZIP développé de l'agent exporté.

Cette fonctionnalité vous permet de profiter des fonctionnalités de gestion de code source d'un fournisseur Git, comme :

  • Examiner les modifications apportées par l'agent à l'aide d'outils de révision de code
  • Examiner les différences entre les agents à l'aide d'outils de comparaison
  • Fusions

Limites

Les limites suivantes s'appliquent :

  • [Ancienne version de l'intégration uniquement] Les API GitHub limitent le nombre de fichiers pouvant être mis à jour dans une même validation. Si le nombre de fichiers dépasse 500, vous ne pourrez peut-être pas les transférer vers GitHub depuis Dialogflow CX. Dans ce cas, vous pouvez exporter l'agent au format ZIP et utiliser la CLI Git sur votre ordinateur pour transférer les fichiers de l'agent vers GitHub. Cette limite sera traitée dans une version ultérieure de Dialogflow CX.
  • Les dépôts GitHub auto-hébergés à accès privé ne sont pas acceptés, car Dialogflow CX ne peut pas y accéder.
  • Le dépôt Git ne peut contenir que les fichiers d'agent exportés par l'exportation d'agent. Tous les autres fichiers du dépôt seront supprimés à chaque push.

Configuration

Pour configurer cette fonctionnalité, vous devez obtenir un jeton d'accès auprès de votre fournisseur Git, le stocker dans Secret Manager et fournir la ressource secrète à Dialogflow CX :

Jeton d'accès

Pour obtenir un jeton d'accès auprès de votre fournisseur Git :

GitHub

Vous devez obtenir un jeton personnel GitHub. Si vous utilisez un jeton d'accès personnel précis, vous devez disposer des autorisations suivantes :

  • Autorisations du dépôt > Contenus : lecture et écriture
  • Autorisations du dépôt > Métadonnées : lecture seule (devrait être sélectionné automatiquement après avoir sélectionné l'autorisation "Contenus")

Gitlab

Vous devez obtenir un jeton d'accès personnel GitLab.

Bitbucket

Vous devez obtenir un jeton d'accès Bitbucket.

Secret Manager

Maintenant que vous disposez d'un jeton d'accès, vous devez créer un secret pour votre jeton :

  1. Activez l'API Secret Manager.
  2. Créez un secret.

Configuration de Dialogflow CX

Pour configurer cette intégration pour Dialogflow CX :

  1. Autorisez l'agent de service Dialogflow à accéder au secret du jeton d'accès dans Secret Manager. Attribuez le rôle Secret Manager Secret Accessor au compte de service gcp-sa-dialogflow.iam.gserviceaccount.com dans votre projet d'agent. Consultez Accorder l'accès à un secret Secret Manager.
  2. Ouvrez la configuration de l'intégration Git :
    • Console Conversational Agents
      1. Ouvrez l'écran des paramètres en cliquant sur l'icône de paramètres en haut à droite.
      2. Faites défiler la page vers le bas, puis cliquez sur Ajouter l'intégration Git.
    • Console Dialogflow CX
      1. Cliquez sur l'onglet Gestion.
      2. Cliquez sur Git dans la section Test et déploiement.
      3. Cliquez sur Créer.
  3. Fournissez les détails de la configuration :
    1. Saisissez les informations suivantes :
      • Nom à afficher pour la connexion GitHub.
      • URL du dépôt Git (par exemple, https://github.com/<path-to-repo>.git).
      • Ajoutez les branches Git 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 à côté.
      • Secret du jeton d'accès, qui correspond à la version du secret que vous avez créée dans le formulaire projects/*/secrets/*/versions/* pour une version spécifique ou projects/*/secrets/*/versions/latest pour la dernière version.
    2. Cliquez sur Se connecter.
    3. La préparation du service Git peut prendre une minute. La console affichera des notifications.

Envoyer et restaurer

Une fois configuré, vous pouvez envoyer/extraire votre agent vers/depuis Git.

Le bouton Envoyer permet d'exporter votre agent et de valider la branche Git 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. Il supprimera tous les fichiers existants dans le dépôt.

Les utilisateurs disposant du rôle Lecteur Dialogflow peuvent transférer des données vers des dépôts Git. Pour éviter les envois indésirables, configurez ces agents avec des jetons d'accès personnel en lecture seule.

Le bouton Restaurer permet d'extraire les données de votre agent à partir de la branche Git sélectionnée dans le menu déroulant "Branche Git" et de restaurer votre agent Dialogflow CX à partir de ces données. Cela écrasera votre agent de la même manière que toute restauration d'agent.

Exemple d'utilisation

L'exemple suivant montre comment plusieurs personnes peuvent utiliser cette fonctionnalité pour proposer différentes modifications d'agent à un agent de production.

Imaginons que votre agent utilise les branches Git suivantes :

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

L'utilisateur 1 souhaite proposer des modifications de l'agent et procède comme suit :

  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 de l'agent et procède comme suit :

  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 effectue les étapes suivantes :

  1. Résolvez les conflits.
  2. Valide les modifications approuvées.
  3. Restaure la branche Git de production dans l'agent Dialogflow CX de production.