Descripción general
Usa esta guía si administras un Espacio de trabajo de ChatGPT y vas a configurar la plantilla de app de GitHub Enterprise para tu organización. Una plantilla no es la app final que usan los miembros. Es un proceso de configuración que crea un borrador de app específico para el Espacio de trabajo una vez que proporcionas la configuración requerida 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 GitHub App, registras la URL de devolución de llamada de ChatGPT, generas las credenciales y luego pegas esos valores en el proceso de configuración de la plantilla de ChatGPT. Una vez que ChatGPT crea el borrador de la app, puedes publicarlo y administrar la app como las demás apps del Espacio de trabajo.
Para obtener información sobre cómo navegar por el Espacio de trabajo y acceder a las apps, consulta: controles de administración, seguridad y cumplimiento para plugins y apps.
Qué vas a configurar
Vas a crear una app de GitHub Enterprise en ChatGPT específica para tu Espacio de trabajo. La app usa:
Una GitHub App registrada en tu host de GitHub Enterprise.
El ID de cliente y el secreto de cliente de la GitHub App para la autorización de usuarios mediante OAuth.
La clave privada de la GitHub App para que ChatGPT pueda generar tokens de instalación para 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 GitHub App, no una GitHub OAuth App independiente. La configuración de la plantilla de ChatGPT requiere las credenciales de una GitHub App, una clave privada y la configuración de webhooks.
Antes de comenzar
Necesitas:
Acceso de administrador o propietario del Espacio de trabajo de ChatGPT.
Acceso de administrador de GitHub Enterprise o de propietario de la organización que permita crear e instalar GitHub Apps.
Solo el nombre de host de GitHub Enterprise, sin
https://ni una ruta.Definir qué acciones sobre 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 más amplios con Codex.
Un lugar seguro para manejar la clave privada y el secreto de cliente de la GitHub App.
Mantén ChatGPT y GitHub Enterprise abiertos en pestañas separadas. 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 GitHub App.
Secreto de cliente de la GitHub App.
Clave privada de la GitHub App en formato PEM.
Secreto de webhook generado por ChatGPT.
URL de webhook generada después de crear el borrador de la app en ChatGPT.
Inicia la configuración de la plantilla en ChatGPT
En ChatGPT, cambia al Espacio de trabajo donde debe estar disponible la app.
Abre Configuración del Espacio de trabajo > Apps. También puedes ir a la Consola de administración, seleccionar el Espacio de trabajo de ChatGPT correspondiente y abrir Plugins. Selecciona Administrar 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 app de GitHub Enterprise e inicia la configuración.
Ingresa un nombre y una descripción claros para la app, como GitHub Enterprise o GitHub Enterprise - Ingeniería.
Ingresa 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 agregues una barra al final ni reemplaces la URL por una URL genérica de ChatGPT.
Crea la app de GitHub en GitHub Enterprise
Abre tu servidor de GitHub Enterprise, por ejemplo,
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 > Apps de GitHub.
Selecciona Nueva app de GitHub.
Ingresa un nombre claro para la app, como ChatGPT GitHub Enterprise.
Ingresa la URL de una página de inicio. Si no hay una página interna dedicada, usa la URL de la organización en GitHub Enterprise.
En URL de devolución de llamada, pega la URL exacta de devolución de llamada que copiaste de ChatGPT.
Mantén habilitada la opción Hacer caducar los tokens de autorización de usuario, a menos que tu equipo de seguridad tenga un motivo específico para cambiarla.
Habilita Solicitar autorización del 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 app de GitHub?”, elige la opción más restrictiva que se ajuste a tu implementación.
Crea la app de GitHub.
Configura los permisos y eventos
Elige los permisos mínimos necesarios para las acciones de ChatGPT que planeas habilitar.
Para buscar repositorios y hacer preguntas sobre ellos con acceso de solo lectura, comienza con permisos de lectura como:
Metadatos: solo lectura. GitHub requiere acceso a metadatos para las GitHub Apps.
Contenido: solo lectura, para acceder a los archivos y al contenido del repositorio.
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, los trabajos, los registros o los artefactos.
Para los flujos de trabajo de escritura, agrega permisos de escritura solo donde sea necesario, como en Contenido, Pull requests, Incidencias, Acciones o Flujos de trabajo. Usa los permisos más restrictivos que permitan realizar las acciones previstas de ChatGPT.
Los eventos de webhook deben corresponder a los flujos de trabajo que admitas. Entre los eventos comunes se incluyen Instalación, Repositorios de la instalación, Envío de cambios, Pull request, Incidencias, Comentario en incidencia, Ejecución de flujo de trabajo y Trabajo del flujo de trabajo.
Genera y copia las credenciales de la GitHub App
En la configuración de la GitHub App, copia el ID de cliente.
Genera un Secreto de cliente y cópialo de inmediato.
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 en ChatGPT y elimina la clave comprometida en GitHub Enterprise.
Completa la configuración en ChatGPT
Regresa a la pestaña de configuración de la plantilla en ChatGPT.
Pega el ID de cliente de la GitHub App en ID de cliente de OAuth.
Pega el secreto de cliente de la GitHub App en Secreto de cliente de OAuth.
Deja Ámbitos sin cambios, a menos que tu organización necesite modificar expresamente los valores predeterminados de la plantilla.
Confirma que el campo de nombre de host de GitHub Enterprise contenga solo el nombre de host, como
github.example.com.Pega o carga la clave privada de la GitHub App en formato PEM en el campo Clave privada de la GitHub App.
Confirma que el secreto de webhook generado esté presente.
Crea el borrador de la app.
Abre los detalles del borrador de la app 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
Completa la configuración del webhook en GitHub Enterprise
Regresa a la configuración de la GitHub App en GitHub Enterprise.
Abre la configuración general de la GitHub App.
Habilita la opción Webhooks activos si aún no está habilitada.
Pega la URL de webhook de ChatGPT en URL de webhook.
Pega el secreto de webhook de ChatGPT en Secreto de webhook.
Mantén habilitada la verificación SSL.
Confirma que los eventos de webhook a los que te suscribiste correspondan a los permisos y las acciones que habilitaste.
Guarda los cambios.
Publica y administra 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 la configuración del Espacio de trabajo, abre la página Apps, abre Habilitadas y confirma que aparezca la app. También puedes abrir la página Apps desde Administrar apps heredadas en Consola de administración > Plugins.
En Enterprise y Edu, usa Acceso de usuarios para elegir qué roles pueden usar la app. En Business, administra la disponibilidad de la app en todo el Espacio de trabajo.
Revisa Control de acciones para las acciones de lectura y escritura.
Revisa Permisos de la app para elegir cuándo ChatGPT les pide permiso a los miembros antes de usar la app.
Pídele a un usuario de prueba con acceso autorizado que abra Apps en ChatGPT y confirme que aparezca la app.
Estos permisos de la app se aplican a las conversaciones de ChatGPT. Los agentes del Espacio de trabajo usan controles individuales configurados por el creador de cada agente para determinar qué acciones de las apps están disponibles y cuándo se les pide a los usuarios finales que las aprueben. Para conocer el comportamiento de los agentes, consulta: agentes del Espacio de trabajo de ChatGPT para Enterprise y Business.
Instala y prueba la GitHub App
En GitHub Enterprise, instala la app de GitHub en la organización o cuenta.
Elige todos los repositorios o solo algunos, según la política del Espacio de trabajo.
Inicia el proceso de conexión desde ChatGPT como un usuario con acceso permitido.
Autoriza la app de GitHub cuando se te solicite.
Primero ejecuta 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 la implementación.
Nombre de host y comportamiento de OAuth
ChatGPT usa el nombre de host para determinar los endpoints de GitHub Enterprise. Ingresa solo el host, como github.example.com u octocorp.ghe.com.
No ingreses una ruta de API, una ruta de repositorio ni github.com, a menos que ese sea el host exacto de GitHub Enterprise para esta app.
Solución de problemas
La URI de redirección no coincide: confirma que la URL de devolución de llamada de la GitHub App 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 GitHub App esté instalada y tenga acceso al repositorio.
La API devuelve un error 403 o de permisos insuficientes: agrega el permiso que falta a la GitHub App y pide al propietario de la instalación que apruebe los permisos actualizados si se solicita.
No aparecen repositorios: confirma que la instalación de la app incluya los repositorios esperados y que el usuario que otorga la autorización en ChatGPT tenga acceso a ellos.
Las entregas de webhooks fallan: confirma que la URL y el secreto de webhook coincidan con los valores de ChatGPT, mantén habilitada la verificación SSL y asegúrate de que el host de GitHub Enterprise pueda conectarse 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.
