Dialogflow CX se integra en GitHub. Esta integración facilita la exportación de tu agente a JSON para un envío a GitHub y la extracción desde GitHub para un restablecimiento del agente. El formato JSON exportado que se envía a GitHub es el contenido del archivo ZIP expandido del agente exportado.
Usar esta función te permite aprovechar las funciones de control de código fuente de GitHub, como las siguientes:
- Revisiones de cambios del agente con herramientas de revisión de código
- Examina las diferencias del agente con las herramientas de diferencias
- Combinaciones
- Y así sucesivamente.
Limitaciones
Se aplica la siguiente limitación:
- GitHub tiene un límite de frecuencia para la cantidad de solicitudes por hora (5, 000 para cuentas no empresariales y 15,000 para cuentas empresariales). Si el envío de tu agente supera este límite, la consola de Dialogflow informará el error de límite de frecuencia. Puedes volver a intentar el envío después de una hora.
- 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, tal vez no puedas enviarlos a GitHub desde Dialogflow. 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. - Los repositorios de acceso privado alojados no son compatibles, ya que Dialogflow no puede acceder a ellos.
- El repositorio de GitHub no puede contener ningún archivo que no sean los archivos del agente exportados por la exportación del agente. Cualquier otro archivo del repositorio se quitará en cada envío.
Configuración
Para configurar esta integración, haz lo siguiente:
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Haz clic en la pestaña Administrar.
- Haz clic en Git en la sección Testing & Deployment.
- Haz clic en Add Git integration y se abrirá un diálogo de configuración.
- Ingresa lo siguiente:
- Nombre visible de la conexión de GitHub.
- La URL del repositorio de GitHub (por ejemplo:
https://api.github.com/repos/<repository_owner>/<repository_name>
). - Agrega ramas de GitHub con las que interactuará tu agente. Puedes designar una rama como predeterminada haciendo clic en el ícono de estrella que se encuentra a su lado.
- El token personal de GitHub no se puede ver una vez configurado. Solo se admiten actualizaciones.
Si usas un token de acceso personal detallado,
necesitas los siguientes
permisos
de acceso:
- Permisos del repositorio > Contenido: Lectura y escritura
- Permisos del repositorio > Metadatos: Solo lectura (debe seleccionarse automáticamente después de seleccionar el permiso de contenido)
- Haz clic en Conectar.
Esta configuración se puede cambiar en cualquier momento si haces clic en el ícono de edición.
Envío y restablecimiento
Una vez configurado, puedes enviar o extraer tu agente de GitHub.
El botón Push se usa para exportar tu agente y confirmar la rama de GitHub 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.
Para repositorios nuevos, asegúrate de que haya al menos una confirmación de GitHub antes de usar la opción de envío en la consola de Dialogflow.
Los usuarios con funciones de Dialogflow Reader pueden enviar a los repositorios de GitHub. Para evitar envíos no deseados, configura estos agentes con tokens de acceso personal de solo lectura.
El botón Restablecer se usa para extraer los datos de tu agente de la rama de GitHub seleccionada en el menú desplegable de la rama de Git y restablecer tu agente de Dialogflow 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 muestra cómo varias personas pueden usar esta función para proponer diferentes cambios de agente a un agente de producción.
Ten en cuenta que tu agente usa las siguientes ramas de GitHub:
- 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 desea proponer cambios del agente y sigue estos pasos:
- Exporta el agente de producción a uno 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 desea proponer cambios del agente y sigue estos pasos:
- Exporta el agente de producción a uno 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:
- Resolver conflictos
- Confirma los cambios aprobados.
- Restablece la rama de producción de GitHub al agente de Dialogflow de producción.