Dialogflow CX s'intègre à plusieurs fournisseurs Git (GitHub, GitLab, Bitbucket, etc.). 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 l'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 contrôle de code source d'un fournisseur Git, telles que :
- Examen des modifications apportées à l'agent à l'aide d'outils de revue 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 un seul commit. Si le nombre de fichiers dépasse 500, vous ne pourrez peut-être pas effectuer de push vers GitHub depuis Dialogflow CX. Dans ce cas, vous pouvez exporter l'agent sous forme de fichier ZIP et utiliser la CLI Git sur votre machine pour transférer les fichiers de l'agent vers GitHub. Cette limite sera traitée dans une prochaine version 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 aucun fichier autre 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 de secret à 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 :
- Repository Permissions > Contents (Autorisations du dépôt > Contenu) : lecture et écriture
- Repository Permissions > Metadata (Autorisations du dépôt > Métadonnées) : lecture seule (devrait être sélectionné automatiquement après avoir sélectionné l'autorisation "Contents")
Gitlab
Vous devez obtenir un jeton d'accès personnel GitLab.
Bitbucket
Vous devez acquérir 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 votre projet d'agent. Consultez Accorder l'accès au secret Secret Manager. - Ouvrez la configuration de l'intégration Git :
- Console Conversational Agents
- Ouvrez l'affichage des paramètres en cliquant sur l'icône des 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 Testing & Deployment (Tests et déploiement).
- Cliquez sur Créer.
- Console Conversational Agents
- 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é de celle-ci.
- Secret du jeton d'accès, qui est la version du secret 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 affichera des notifications.
- Saisissez les informations suivantes :
Push et restauration
Une fois configuré, vous pouvez transférer votre agent vers Git ou l'extraire de Git.
Le bouton Push permet d'exporter votre agent et d'effectuer un commit sur la branche Git sélectionnée dans le menu déroulant des branches 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 effectuer des push vers des dépôts Git. Pour éviter les push 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 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 n'importe quelle 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 : une autre branche pour le développement de l'agent
L'utilisateur 1 souhaite proposer des modifications de l'agent et procède comme suit :
- Exportez l'agent de production vers un nouvel agent.
- Apportez les modifications souhaitées à cette copie de l'agent.
- Testez les modifications.
- Transférez l'agent modifié vers la branche Dev1.
- Créez une demande de fusion vers la branche Prod.
L'utilisateur 2 souhaite proposer des modifications de l'agent et procède comme suit :
- Exportez l'agent de production vers un nouvel agent.
- Apportez les modifications souhaitées à cette copie de l'agent.
- Testez les modifications.
- Transférez l'agent modifié vers la branche Dev2.
- Créez une demande de fusion vers la branche Prod.
L'utilisateur 3 examine les demandes de fusion des deux utilisateurs et effectue les étapes suivantes :
- Résolvez les conflits.
- Valide les modifications approuvées.
- Restaure la branche Git de production dans l'agent Dialogflow CX de production.