Dialogflow CX se integra con varios proveedores de Git (GitHub, GitLab, Bitbucket y otros). Esta integración facilita la exportación de tu agente a JSON para enviarlo a un proveedor de Git, y extraerlo de un proveedor de Git para un restablecimiento del agente. El formato JSON exportado que se envía a un proveedor de Git es el contenido expandido del archivo ZIP del agente exportado.
El uso de esta función te permite aprovechar las funciones de control de código fuente de un proveedor de Git, como las siguientes:
- Revisiones de cambios de agentes con herramientas de revisión de código
- Examen de las diferencias de los agentes con herramientas de diferencias
- Combinaciones
Limitaciones
Se aplica la siguiente limitación:
- [Solo versión anterior de la integración] Las APIs de GitHub tienen una limitación en la cantidad de archivos que se pueden actualizar en una sola confirmación. Si la cantidad de archivos supera los 500, es posible que no puedas enviar a GitHub desde Dialogflow CX. En esos casos, puedes exportar el agente como un archivo ZIP y usar la CLI de Git en tu máquina para enviar los archivos del agente a GitHub. Esta limitación se abordará en una versión posterior de Dialogflow CX.
- No se admiten los repositorios autoalojados de acceso privado de GitHub, ya que Dialogflow CX no puede acceder a ellos.
- El repositorio de Git no puede contener ningún archivo que no sean los archivos del agente exportados por la exportación del agente. Se quitarán todos los demás archivos del repositorio en cada envío.
Configuración
Para configurar esta función, debes obtener un token de acceso de tu proveedor de Git, almacenarlo en Secret Manager y proporcionar el recurso secreto a Dialogflow CX:
Token de acceso
Para obtener un token de acceso de tu proveedor de Git, haz lo siguiente:
GitHub
Debes obtener un token personal de GitHub . Si usas un token de acceso personal detallado, necesitas los siguientes permisos de acceso:
- Repository Permissions > Contents: Read and write
- Repository Permissions > Metadata: Read-only (should be auto-selected after selecting Contents permission)
GitLab
Debes obtener un token de acceso personal de GitLab.
Bitbucket
Debes obtener un token de acceso de Bitbucket.
Secret Manager
Ahora que tienes un token de acceso, debes crear un secreto para tu token:
Configuración de Dialogflow CX
Para configurar esta integración para Dialogflow CX, haz lo siguiente:
- Otorga permiso al agente de servicio de Dialogflow para acceder al secreto del token de acceso en Secret Manager.
Otorga el rol
Secret Manager Secret Accessora la cuenta de serviciogcp-sa-dialogflow.iam.gserviceaccount.comen el proyecto de tu agente. Consulta Otorga acceso al secreto de Secret Manager. - Abre la configuración de la integración de Git:
- Consola de Conversational Agents
- Para abrir la pantalla de configuración, haz clic en el ícono de configuración cerca de la esquina superior derecha.
- Desplázate hacia abajo y haz clic en Add Git integration.
- Consola de Dialogflow CX
- Haz clic en la pestaña Administrar.
- Haz clic en Git en la sección Pruebas e implementación.
- Haz clic en Crear nueva.
- Consola de Conversational Agents
- Proporciona los detalles de configuración:
- Ingresa lo siguiente:
- Nombre visible para la conexión de GitHub.
- URL del repositorio de Git (por ejemplo:
https://github.com/<path-to-repo>.git). - Agrega las ramas de Git con las que interactuará tu agente. Para designar una rama como la predeterminada, haz clic en el ícono de estrella junto a ella.
- Secreto del token de acceso, que es la versión secreta que creaste en el formulario
projects/*/secrets/*/versions/*para una versión específica oprojects/*/secrets/*/versions/latestpara la versión más reciente.
- Haz clic en Conectar.
- Es posible que el servicio de Git tarde un minuto en estar listo. La consola mostrará notificaciones.
- Ingresa lo siguiente:
Envío y restablecimiento
Una vez configurado, puedes enviar o extraer tu agente a Git.
El botón Push se usa para exportar tu agente y realizar una confirmación en la rama de Git seleccionada en el menú desplegable de la rama de Git. Esta confirmación constará de todo el agente y no de cambios específicos, y borrará todos los archivos existentes en el repositorio.
Los usuarios con roles de lector de Dialogflow pueden enviar a repositorios de Git. Para evitar envíos no deseados, configura estos agentes con tokens de acceso personales de solo lectura.
El botón Restore se usa para extraer los datos de tu agente de la rama de Git seleccionada en el menú desplegable de la rama de Git y restablecer tu agente de Dialogflow CX a partir de estos datos. Esto reemplazará tu agente de la misma manera que se comporta cualquier restablecimiento de agente.
Ejemplo de caso de uso
En el siguiente ejemplo, se ilustra cómo varias personas pueden usar esta función para proponer diferentes cambios de agente a un agente de producción.
Supongamos que tu agente usa las siguientes ramas de Git:
- Prod: Rama para tu agente de producción
- Dev1: Rama para el desarrollo de agentes
- Dev2: Otra rama para el desarrollo de agentes
El usuario 1 quiere proponer cambios de agente y sigue estos pasos:
- Exporta el agente de producción a un agente nuevo.
- Realiza los cambios deseados en esta copia del agente.
- Prueba los cambios.
- Envía el agente modificado a la rama Dev1.
- Crea una solicitud de combinación para la rama Prod.
El usuario 2 quiere proponer cambios de agente y sigue estos pasos:
- Exporta el agente de producción a un agente nuevo.
- Realiza los cambios deseados en esta copia del agente.
- Prueba los cambios.
- Envía el agente modificado a la rama Dev2.
- Crea una solicitud de combinación para la rama Prod.
El usuario 3 revisa las solicitudes de combinación de ambos usuarios y sigue estos pasos:
- Resuelve los conflictos.
- Confirma los cambios aprobados.
- Restablece la rama de Git de producción al agente de Dialogflow CX de producción.