Dialogflow CX s'intègre à plusieurs fournisseurs Git (GitHub, Gitlab, Bitbucket, etc.). Cette intégration facilite l' exportation de votre agent au format JSON pour l'envoi à un fournisseur Git, ainsi que l'extraction d'un fournisseur Git pour la restauration d'un 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, telles que :
- L'examen des modifications apportées à l'agent à l'aide d'outils de revue de code
- L'examen des différences entre les agents à l'aide d'outils de comparaison
- Les 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 un seul commit. Si le nombre de fichiers dépasse 500, vous ne pourrez peut-être pas envoyer de données vers GitHub depuis Dialogflow CX. Dans ce cas, vous pouvez exporter l'agent au format ZIP et utiliser l'interface de ligne de commande Git sur votre machine pour envoyer les fichiers de l'agent vers GitHub. Cette limite sera résolue dans une version ultérieure de Dialogflow CX.
- Les dépôts auto-hébergés à accès privé GitHub ne sont pas compatibles, car Dialogflow CX ne peut pas y accéder.
- Le dépôt Git ne peut contenir que les fichiers de l'agent exportés par l'exportation de l'agent. Tous les autres fichiers du dépôt seront supprimés à chaque envoi.
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 d'accès 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 avoir sélectionné l'autorisation "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 de Dialogflow CX
Pour configurer cette intégration pour Dialogflow CX :
- Accordez à l'agent de service Dialogflow l'autorisation d'accéder au secret du jeton d'accès dans Secret Manager.
Attribuez le rôle
Secret Manager Secret Accessorau compte de servicegcp-sa-dialogflow.iam.gserviceaccount.comdans le projet de votre agent. Consultez Accorder l'accès à un secret Secret Manager. - Ouvrez la configuration de l'intégration Git :
- Console Agents conversationnels
- 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 et cliquez sur Ajouter une intégration Git.
- Console Dialogflow CX
- Cliquez sur l'onglet Gestion.
- Cliquez sur Git dans la section Tests et déploiement.
- Cliquez sur Créer.
- Console Agents conversationnels
- Fournissez les détails de la 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é de celle-ci.
- 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/latestpour 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 :
Envoi et restauration
Une fois la configuration effectuée, vous pouvez envoyer/extraire votre agent vers/depuis Git.
Le bouton Envoyer permet d'exporter votre agent et d'effectuer un commit dans 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, et supprimera tous les fichiers existants dans le dépôt.
Les utilisateurs disposant du rôle Lecteur Dialogflow peuvent envoyer des données vers des dépôts Git. Pour éviter les envois indésirables, configurez ces agents avec des jetons d'accès personnels 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 illustre comment cette fonctionnalité peut être utilisée par plusieurs personnes 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 pour le développement de l'agent
- Dev2 : autre branche pour le développement de l'agent
L'utilisateur 1 souhaite proposer des modifications d'agent et procède comme suit :
- Il exporte l'agent de production vers un nouvel agent.
- Il apporte les modifications souhaitées à cette copie de l'agent.
- Il teste les modifications.
- Il envoie l'agent modifié à la branche Dev1.
- Il crée une demande de fusion pour la branche Prod.
L'utilisateur 2 souhaite proposer des modifications d'agent et procède comme suit :
- Il exporte l'agent de production vers un nouvel agent.
- Il apporte les modifications souhaitées à cette copie de l'agent.
- Il teste les modifications.
- Il envoie l'agent modifié à la branche Dev2.
- Il crée une demande de fusion pour la branche Prod.
L'utilisateur 3 examine les demandes de fusion des deux utilisateurs et procède comme suit :
- Il résout les conflits.
- Il valide les modifications approuvées.
- Il restaure la branche Git de production dans l'agent Dialogflow CX de production.