Les agents conversationnels (Dialogflow CX) s'intègrent à plusieurs fournisseurs Git (GitHub, Gitlab, Bitbucket, etc.). Cette intégration permet de exporter facilement votre agent au format JSON pour une mise à jour vers un fournisseur Git, et de récupérer à partir d'un fournisseur Git pour une restauration d'agent. Le format JSON exporté envoyé à 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 contrôle des sources d'un fournisseur Git, comme:
- Examen des modifications apportées par l'agent à l'aide d'outils d'examen du code
- Examiner les différences entre les agents à l'aide d'outils de comparaison
- Fusions
Limites
Les limites suivantes s'appliquent :
- [Ancienne version d'intégration uniquement] 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 de transfert vers GitHub à partir des agents conversationnels (Dialogflow CX). Dans ce cas, vous pouvez exporter l'agent au format ZIP et utiliser la CLI Git sur votre machine pour transférer les fichiers de l'agent vers GitHub. Cette limitation sera levée dans une prochaine version des agents conversationnels (Dialogflow CX).
- Les dépôts hébergés avec accès privé GitHub ne sont pas compatibles, car les agents conversationnels (Dialogflow CX) ne peuvent 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 transfert.
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 aux agents conversationnels (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 d'accès 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 de dépôt > Métadonnées: lecture seule (doit être sélectionné automatiquement après avoir sélectionné l'autorisation de contenu)
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:
Configuration des agents de conversation (Dialogflow CX)
Pour configurer cette intégration pour les agents de conversation (Dialogflow CX):
- Accordez à l'agent de service Dialogflow l'autorisation d'accéder à Secret Manager.
Attribuez le rôle
Secret Manager Secret Accessor
au compte de servicegcp-sa-dialogflow.iam.gserviceaccount.com
dans votre projet d'agent. Consultez la section Accorder un rôle IAM. - Ouvrez la configuration de l'intégration Git :
- Console des agents de conversation
- Ouvrez l'écran des paramètres en cliquant sur l'icône de paramètres en haut à droite.
- Faites défiler la page vers le bas, puis cliquez sur Ajouter une intégration Git.
- Console Dialogflow CX
- Cliquez sur l'onglet Gestion.
- Cliquez sur Git dans la section Test et déploiement.
- Cliquez sur Créer.
- Console des agents de conversation
- Fournissez les informations de configuration :
- 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é d'elle.
- Secret du jeton d'accès, qui correspond à la version secrète que vous avez créée au format
projects/*/secrets/*/versions/*
pour une version spécifique ouprojects/*/secrets/*/versions/latest
pour la dernière version.
- Cliquez sur Se connecter.
- La préparation du service Git peut prendre une minute. La console affiche des notifications.
- Saisissez les informations suivantes :
Push et restauration
Une fois la configuration terminée, vous pouvez pousser/extraire votre agent vers/depuis Git.
Le bouton Push permet d'exporter votre agent et de valider la branche Git sélectionnée dans le menu déroulant "Branche Git". Ce commit consistera en l'ensemble de l'agent et non en modifications spécifiques, et supprimera tous les fichiers existants du dépôt.
Les utilisateurs disposant des rôles Lecteur Dialogflow peuvent effectuer des transferts vers des dépôts Git. 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 votre agent à partir de la branche Git sélectionnée dans le menu déroulant "Branch Git" (Branche Git) et de restaurer votre agent Conversational Agents (Dialogflow CX) à partir de ces données. Votre agent sera écrasé 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.
Supposons que votre agent utilise les branches Git suivantes:
- Prod: branche de votre agent de production
- Dev1: branche de développement de l'agent
- Dev2: autre branche pour le développement de l'agent
L'utilisateur 1 souhaite proposer des modifications d'agents et procède comme suit:
- Exportez l'agent de production vers un nouvel agent.
- Apportez les modifications souhaitées à ce texte d'agent.
- Testez les modifications.
- Transférez l'agent modifié vers la branche Dev1.
- Créez une demande de fusion dans la branche Prod.
L'utilisateur 2 souhaite proposer des modifications d'agents et procède comme suit:
- Exportez l'agent de production vers un nouvel agent.
- Apportez les modifications souhaitées à ce texte d'agent.
- Testez les modifications.
- Transférez l'agent modifié vers la branche Dev2.
- Créez une demande de fusion dans la branche Prod.
L'utilisateur 3 examine les demandes de fusion des deux utilisateurs et effectue les étapes suivantes:
- Résolvez les conflits.
- Committe les modifications approuvées.
- Restaure la branche Git de production dans l'agent Conversational Agents (Dialogflow CX) de production.