Descripción general
Usa esta guía si administras un Área de trabajo de ChatGPT y vas a configurar la plantilla de la app GitHub Enterprise para tu organización. Una plantilla no es la app definitiva que usan los miembros. Es un proceso de configuración que crea un borrador de app específico para el Área de trabajo una vez que proporcionas la configuración necesaria de GitHub Enterprise.
En el caso de GitHub Enterprise, la configuración conecta ChatGPT al host de GitHub Enterprise de tu organización. Creas una aplicación de GitHub, registras la URL de devolución de llamada de ChatGPT, generas las credenciales y, a continuación, pegas esos valores en el proceso de configuración de la plantilla de ChatGPT. Una vez que ChatGPT cree el borrador de la app, podrás publicarla y gestionarla como las demás apps del Área de trabajo.
Para obtener información sobre la navegación por el Área de trabajo y el acceso a las apps, consulta: controles de administración, seguridad y cumplimiento normativo para plugins y apps.
Qué vas a configurar
Vas a crear en ChatGPT una app de GitHub Enterprise específica para el Área de trabajo. La app utiliza:
Una aplicación de GitHub registrada en tu host de GitHub Enterprise.
El ID de cliente y el secreto de cliente de la aplicación de GitHub para la autorización de usuarios mediante OAuth.
La clave privada de la aplicación de GitHub para que ChatGPT pueda generar tokens de instalación para las operaciones con repositorios.
Un secreto de webhook y una URL de webhook para que GitHub Enterprise pueda enviar eventos de instalación y de repositorios a ChatGPT.
Tu nombre de host de GitHub Enterprise, como
github.example.com.
Crea una aplicación de GitHub, no una aplicación de OAuth de GitHub independiente. La configuración de la plantilla de ChatGPT requiere las credenciales de una aplicación de GitHub, una clave privada y los ajustes del webhook.
Antes de empezar
Necesitas:
Acceso de administrador o propietario del Área de trabajo de ChatGPT.
Acceso de administrador de GitHub Enterprise o de propietario de la organización que permita crear e instalar aplicaciones de GitHub.
Solo el nombre de host de GitHub Enterprise, sin
https://ni ninguna ruta.Haber decidido qué acciones sobre los repositorios debe admitir ChatGPT, como búsquedas de repositorios de solo lectura, flujos de trabajo con pull requests o incidencias, edición de archivos, GitHub Actions o flujos de trabajo de Codex más amplios.
Un lugar seguro para gestionar la clave privada y el secreto de cliente de la aplicación de GitHub.
Mantén ChatGPT y GitHub Enterprise abiertos en pestañas distintas. No inventes la URL de devolución de llamada. Copia la URL exacta de devolución de llamada que aparece en ChatGPT.
Valores que debes preparar
Nombre de host de GitHub Enterprise: por ejemplo,
github.example.com.URL de devolución de llamada: cópiala del proceso de configuración de la plantilla de ChatGPT.
ID de cliente de la aplicación de GitHub.
Secreto de cliente de la aplicación de GitHub.
Clave privada PEM de la aplicación de GitHub.
Secreto de webhook generado por ChatGPT.
URL de webhook generada tras crear el borrador de la app en ChatGPT.
Iniciar la configuración de la plantilla en ChatGPT
En ChatGPT, cambia al Área de trabajo donde deba estar disponible la app.
Abre Configuración del Área de trabajo > Apps. También puedes ir a la consola de administración, seleccionar el Área de trabajo de ChatGPT que corresponda y abrir Plugins. Selecciona Gestionar apps heredadas para abrir la página de Apps que se conserva de la versión anterior.
Selecciona Directorio.
Busca GitHub Enterprise.
Selecciona la plantilla de la app GitHub Enterprise e inicia la configuración.
Introduce un nombre y una descripción claros para la app, como GitHub Enterprise o GitHub Enterprise - Ingeniería.
Introduce el nombre de host de GitHub Enterprise, como
github.example.com.Copia la URL de devolución de llamada que aparece en ChatGPT. Mantén esta pestaña abierta.
Copia el secreto de webhook generado si aparece durante la configuración.
Ejemplo de URL de devolución de llamada: https://chatgpt.com/connector/oauth/<callback_id>
No elimines el ID de devolución de llamada, no añadas una barra al final ni sustituyas la URL por una URL genérica de ChatGPT.
Crear la aplicación de GitHub en GitHub Enterprise
Abre tu host de GitHub Enterprise, como
https://github.example.com.Ve a la organización o cuenta que deba ser propietaria de la app.
Abre Configuración > Configuración de desarrollador > Aplicaciones de GitHub.
Selecciona Nueva aplicación de GitHub.
Introduce un nombre claro para la app, como Conector de GitHub Enterprise para ChatGPT.
Introduce una URL de página de inicio. Si no hay una página interna específica, usa la URL de la organización en GitHub Enterprise.
En URL de devolución de llamada, pega la URL exacta que has copiado de ChatGPT.
Mantén activada la opción Caducar los tokens de autorización de usuario, a menos que tu equipo de seguridad tenga un motivo concreto para cambiarla.
Activa Solicitar autorización de usuario durante la instalación para que los usuarios puedan autorizar la app durante el proceso de instalación o conexión.
En ¿Dónde se puede instalar esta aplicación de GitHub?, elige la opción más restrictiva que se ajuste a tu despliegue.
Crea la aplicación de GitHub.
Configurar permisos y eventos
Elige los permisos mínimos necesarios para las acciones de ChatGPT que tengas previsto habilitar.
Para buscar repositorios y hacer preguntas sobre ellos en modo de solo lectura, empieza con permisos de lectura como:
Metadatos: solo lectura. GitHub exige acceso a los metadatos para las aplicaciones de GitHub.
Contenidos: solo lectura, para acceder a los archivos y al contenido de los repositorios.
Incidencias: solo lectura, si necesitas buscar o leer incidencias.
Pull requests: solo lectura, si necesitas buscar pull requests u obtener contexto para revisarlas.
Acciones: solo lectura, si necesitas consultar el estado de ejecución de los flujos de trabajo, las tareas, los registros o los artefactos.
Para los flujos de trabajo de escritura, añade permisos de escritura solo donde sean necesarios, como en Contenidos, Pull requests, Incidencias, Acciones o Flujos de trabajo. Usa los permisos más restrictivos que permitan realizar las acciones de ChatGPT previstas.
Los eventos de webhook deben corresponderse con los flujos de trabajo que admitas. Los eventos habituales incluyen Instalación, Repositorios de instalación, Envío de cambios, Pull request, Incidencias, Comentario de incidencia, Ejecución de flujo de trabajo y Tarea de flujo de trabajo.
Generar y copiar las credenciales de la aplicación de GitHub
En la configuración de la aplicación de GitHub, copia el ID de cliente.
Genera un Secreto de cliente y cópialo inmediatamente.
En Claves privadas, genera una clave privada.
Descarga el archivo .pem y guárdalo de forma segura.
Abre el archivo .pem en tu equipo y copia todo el texto PEM, incluidas las líneas de inicio y fin.
La clave privada es información confidencial. Trátala como una credencial. Si queda expuesta, genera una nueva clave privada, actualiza la configuración de la app de ChatGPT y elimina la clave comprometida en GitHub Enterprise.
Finalizar la configuración en ChatGPT
Vuelve a la pestaña de configuración de la plantilla de ChatGPT.
Pega el ID de cliente de la aplicación de GitHub en ID de cliente de OAuth.
Pega el secreto de cliente de la aplicación de GitHub en Secreto de cliente de OAuth.
No modifiques Ámbitos a menos que tu organización necesite cambiar expresamente los valores predeterminados de la plantilla.
Confirma que el nombre de host de GitHub Enterprise contenga solo el nombre de host, como
github.example.com.Pega o sube la clave privada PEM de la aplicación de GitHub en Clave privada de la aplicación de GitHub.
Confirma que el secreto de webhook generado esté presente.
Crea el borrador de la app.
Abre los detalles del borrador de la app que has creado en ChatGPT y copia la URL de webhook generada.
La URL de webhook debe tener este formato: https://connectors.api.openai.org/connectors/<connector_id>/webhook
Finalizar la configuración del webhook en GitHub Enterprise
Vuelve a la configuración de la aplicación de GitHub en GitHub Enterprise.
Abre la configuración general de la aplicación de GitHub.
Habilita Webhooks activos si aún no están habilitados.
Pega la URL de webhook de ChatGPT en URL de webhook.
Pega el secreto de webhook de ChatGPT en Secreto de webhook.
Mantén activada la verificación SSL.
Confirma que los eventos de webhook a los que te has suscrito se correspondan con los permisos y las acciones que has habilitado.
Guarda los cambios.
Publicar y gestionar la app en ChatGPT
Crear el borrador de la app no hace que esté disponible automáticamente para los miembros. Después de revisar el borrador:
Publica el borrador de la app.
En Configuración del Área de trabajo, abre la página de Apps, entra en Habilitadas y confirma que la app aparezca. También puedes abrir la página de Apps desde Gestionar apps heredadas, en Consola de administración > Plugins.
Configura Acceso de usuarios para los roles que deban utilizarla.
Revisa Control de acciones para las acciones de lectura y escritura.
Revisa Permisos de la app para elegir cuándo debe ChatGPT pedir permiso a los miembros antes de usar la app.
Pide a un usuario de prueba autorizado que abra Apps en ChatGPT y confirme que la app aparezca.
Estos permisos de la app se aplican a las conversaciones de ChatGPT. Los agentes del Área de trabajo utilizan controles específicos para cada agente, establecidos por su creador, para determinar qué acciones de las apps están disponibles y cuándo se pide a los usuarios finales que las aprueben. Para obtener información sobre el comportamiento de los agentes, consulta: agentes del Área de trabajo de ChatGPT para Enterprise y Business.
Instalar y probar la aplicación de GitHub
En GitHub Enterprise, instala la aplicación de GitHub en la organización o cuenta.
Elige todos los repositorios o solo algunos, según la política del Área de trabajo.
Inicia el proceso de conexión desde ChatGPT como usuario autorizado.
Autoriza la aplicación de GitHub cuando se te solicite.
Ejecuta primero una acción de lectura sencilla, como listar los repositorios accesibles u obtener una pull request conocida.
Si las acciones de escritura están habilitadas, haz una prueba con un repositorio de bajo riesgo antes de ampliar el despliegue.
Nombre de host y funcionamiento de OAuth
ChatGPT utiliza el nombre de host para determinar los puntos de conexión de GitHub Enterprise. Introduce solo el host, como github.example.com u octocorp.ghe.com.
No introduzcas una ruta de API, una ruta de repositorio ni github.com, a menos que este último sea el host exacto de GitHub Enterprise para esta app.
Solución de problemas
El URI de redirección no coincide: confirma que la URL de devolución de llamada de la aplicación de GitHub coincida exactamente con la que aparece en ChatGPT.
ChatGPT no puede crear o guardar el borrador de la app: confirma que todos los campos obligatorios estén completos, incluidos el nombre de host, el ID de cliente de OAuth, el Secreto de cliente de OAuth, la clave privada y el secreto de webhook.
La autenticación se completa, pero las llamadas al repositorio fallan: confirma que la aplicación de GitHub esté instalada y tenga acceso al repositorio.
La API devuelve el error 403 o indica que los permisos son insuficientes: añade el permiso que falta a la aplicación de GitHub y pide al propietario de la instalación que apruebe los permisos actualizados si se le solicita.
No aparece ningún repositorio: confirma que la instalación de la app incluya los repositorios previstos y que el usuario que la autoriza en ChatGPT tenga acceso a ellos.
Las entregas del webhook fallan: confirma que la URL y el secreto de webhook coincidan con los valores de ChatGPT, mantén activada la verificación SSL y asegúrate de que el host de GitHub Enterprise pueda acceder a
connectors.api.openai.org.Errores de clave privada: confirma que se haya copiado todo el contenido PEM, incluidas las líneas de inicio y fin.
Referencias
Documentación de GitHub: acerca de la URL de devolución de llamada para la autorización de usuarios
Documentación de GitHub: elegir permisos para una aplicación de GitHub
Documentación de GitHub: usar webhooks con aplicaciones de GitHub
Documentación de GitHub: gestionar claves privadas de aplicaciones de GitHub
