GitLab en ChatGPT y Codex se encuentra actualmente en fase beta.
Descripción general
Usa la plantilla de aplicación GitLab Self-Managed para crear un borrador de aplicación específico del Área de trabajo para una instancia de GitLab Self-Managed o GitLab Dedicated. Indica el nombre de host de GitLab y las credenciales de la aplicación OAuth, revisa el borrador y publícalo para los miembros del Área de trabajo que cumplan los requisitos. Tras publicarla, las acciones habilitadas de la aplicación estarán disponibles en las conversaciones de ChatGPT y las sesiones de Codex.
Para consultar una descripción general del comportamiento compatible de GitLab, su disponibilidad, los permisos, el uso de datos y los requisitos de red, consulta Conectar GitLab con ChatGPT y Codex.
Qué vas a configurar
Vas a crear una aplicación específica del Área de trabajo a partir de la plantilla de aplicación GitLab Self-Managed. La aplicación usa:
Una aplicación OAuth de GitLab registrada en tu host de GitLab Self-Managed o GitLab Dedicated.
El ID de la aplicación y el secreto de OAuth de GitLab para autorizar a los usuarios.
Los ámbitos de OAuth necesarios: api, write_repository y openid.
Tu nombre de host de GitLab, por ejemplo, gitlab.example.com, para obtener los endpoints web, de API, de autorización y de tokens.
Antes de empezar
Necesitas:
Acceso como administrador o propietario del Área de trabajo de ChatGPT.
Permiso de GitLab para crear la aplicación OAuth: acceso de propietario del grupo para una aplicación propiedad de un grupo o acceso de administrador de la instancia para una aplicación de toda la instancia.
Solo el nombre de host de GitLab, sin https://, puerto ni ruta. Usa un host de GitLab Self-Managed o GitLab Dedicated, no gitlab.com.
Una decisión sobre las acciones de GitLab que deben admitir ChatGPT y Codex, como búsquedas en repositorios, flujos de trabajo de solicitudes de fusión o incidencias, ediciones de archivos u otros flujos de trabajo más amplios de Codex.
Mantén ChatGPT y GitLab abiertos en pestañas distintas. Copia la URI de redirección exacta que aparece en ChatGPT; no la crees ni la modifiques.
Valores que debes preparar
Nombre de host de GitLab: por ejemplo, gitlab.example.com.
URI de redirección: cópiala del flujo de configuración de la plantilla de ChatGPT.
ID de la aplicación OAuth de GitLab.
Secreto de OAuth de GitLab.
Ámbitos de OAuth: cópialos del flujo de configuración de la plantilla de ChatGPT.
Start the template setup in ChatGPT
In ChatGPT, switch to the workspace where the app should be available.
Go to Workspace settings > Plugins.
In Directory, find GitLab, open its GitLab Self-Managed app template, and select Enable.
Enter a clear app name and description.
Enter the GitLab hostname, such as gitlab.example.com.
Copy the Redirect URI shown in ChatGPT, and keep this tab open.
Example: https://chatgpt.com/connector/oauth/<redirect_id>. Do not remove the redirect ID, add a trailing slash, or replace the URI with a generic ChatGPT URL.
Crear la aplicación OAuth de GitLab en GitLab
Elegir dónde crear la aplicación
Abre tu host de GitLab, por ejemplo, https://gitlab.example.com.
Elige si quieres crear una aplicación para toda la instancia o una aplicación propiedad de un grupo. Esta elección determina quién administra la aplicación; el acceso a los proyectos sigue dependiendo de los permisos de GitLab del usuario que autoriza y de los ámbitos de OAuth concedidos.
Para una aplicación de toda la instancia, ve a Administración > Aplicaciones. Para una aplicación propiedad de un grupo, ve a Configuración > Aplicaciones en el grupo.
Añadir los datos de la aplicación
Selecciona Nueva aplicación o Añadir nueva aplicación.
Introduce un nombre claro para la aplicación, como GitLab Self-Managed o GitLab Dedicated.
En URI de redirección, pega la URI exacta que has copiado de ChatGPT.
Mantén habilitada la opción Confidencial para esta aplicación OAuth del servidor.
Configurar el acceso y guardar
Para una aplicación de toda la instancia, GitLab recomienda seleccionar De confianza. Esto omite el prompt de autorización del usuario.
Selecciona los ámbitos api, write_repository y openid.
Comprueba quién puede administrar la aplicación y confirma que los usuarios de GitLab que la autorizan tengan los permisos adecuados para el grupo y el proyecto.
Guarda la aplicación.
Requisitos de los ámbitos de OAuth
La plantilla solicita los siguientes ámbitos de OAuth para las acciones de GitLab habilitadas en ChatGPT y Codex:
api: necesario para las operaciones de la API de GitLab que ofrece la aplicación, incluidas las acciones de solicitudes de fusión, incidencias y CI/CD.
write_repository: necesario para las operaciones de escritura en repositorios mediante Git.
openid: necesario para la identidad de OpenID Connect y la información de pertenencia.
Copiar las credenciales OAuth de GitLab
En la aplicación de GitLab guardada, copia el ID de la aplicación y el secreto. Trata el secreto como una credencial. Si queda expuesto, renuévalo en GitLab y crea una nueva aplicación para el Área de trabajo.
Finalizar la configuración en ChatGPT
Vuelve a la pestaña de configuración de la plantilla de ChatGPT.
Pega el ID de la aplicación de GitLab en ID de cliente de OAuth.
Pega el secreto de GitLab en Secreto de cliente de OAuth.
Confirma que el nombre de host de GitLab solo contenga el nombre de host, por ejemplo, gitlab.example.com.
Selecciona Crear borrador.
Abre los detalles del borrador de la aplicación y revisa Acceso por roles y Configurar acciones.
Publicar y administrar la aplicación para ChatGPT y Codex
Crear el borrador de la aplicación no hace que esté disponible automáticamente para los miembros. Después de revisar el borrador:
Selecciona Publicar en el borrador de la aplicación.
Ve a Configuración del Área de trabajo > Complementos y confirma que GitLab esté disponible para los roles previstos.
Revisa Acceso por roles para los roles que deban usar la aplicación.
En Configurar acciones, revisa las acciones de lectura y escritura disponibles.
En Configurar aprobaciones, elige cuándo deben aprobar los usuarios una acción antes de que ChatGPT o Codex usen la aplicación.
Pide a un usuario de prueba con acceso que abra GitLab desde el Directorio de complementos o desde Configuración > Complementos. Confirma que el usuario pueda instalar el complemento y conectarse a la aplicación creada a partir de la plantilla Self-Managed de GitLab.
Estos ajustes de aprobación de aplicaciones se aplican a las conversaciones de ChatGPT y los hilos de Codex.
Configurar la actividad de GitLab para la revisión de código de Codex
Después de publicar la aplicación, configura la actividad de GitLab en Codex si piensas usar la revisión de código de Codex. Esta configuración de actividad configura los eventos de webhook necesarios.
Abre la configuración de conectores de Codex.
Configura una cuenta de servicio del Área de trabajo. Deja que Codex cree la cuenta o proporciona un token de acceso personal para una cuenta de servicio existente.
Habilita la Actividad de GitLab para el proyecto o uno de sus grupos superiores.
Si Codex necesita ejecutar tareas de programación o usar una configuración específica del proyecto, crea un entorno de proyecto.
La aplicación GitLab usa OAuth de usuario para las lecturas y acciones habilitadas en ChatGPT y Codex. Para las escrituras de revisión de Codex en GitLab Self-Managed o GitLab Dedicated, el token de la cuenta de servicio administrada por el Área de trabajo determina la identidad y los proyectos en los que Codex puede comentar o reaccionar.
Más información: Revisar solicitudes de fusión de GitLab con Codex.
Conectar y probar la aplicación GitLab
Como usuario con acceso, abre GitLab desde el Directorio de complementos o desde Configuración > Complementos. Selecciona Instalar complemento y, después, Conectar.
Si tu Área de trabajo tiene más de una aplicación GitLab, elige la correspondiente a este host de GitLab Self-Managed o GitLab Dedicated.
Autoriza la aplicación OAuth de GitLab cuando se te solicite.
Ejecuta primero una pequeña acción de lectura en ChatGPT o Codex, como mostrar los proyectos accesibles u obtener una solicitud de fusión conocida.
Si las acciones de escritura están habilitadas, pruébalas en un proyecto de bajo riesgo y en cada producto donde pienses usarlas antes de implantarlas de forma generalizada.
Comportamiento del nombre de host y OAuth
La aplicación usa el nombre de host para obtener los endpoints de GitLab. Introduce solo el host, por ejemplo, gitlab.example.com. No incluyas https://, una ruta de API o repositorio, un puerto ni gitlab.com. Esta plantilla es para GitLab Self-Managed o GitLab Dedicated. Para GitLab.com (SaaS), usa la aplicación GitLab.
Solucionar problemas de configuración de la aplicación GitLab Self-Managed
La URI de redirección no coincide: confirma que la URI de redirección de la aplicación OAuth de GitLab coincida exactamente con la que aparece en ChatGPT.
ChatGPT no puede crear ni guardar el borrador de la aplicación: confirma que se hayan indicado el nombre de host, el ID de la aplicación, el secreto y la URI de redirección.
La autenticación funciona, pero fallan las llamadas al proyecto: confirma que el usuario de GitLab que autoriza tenga acceso al proyecto y que la aplicación OAuth disponga de los ámbitos de la plantilla.
La API devuelve un error 403 o permisos insuficientes: confirma que la cuenta de GitLab conectada tenga los permisos necesarios para el proyecto o grupo y que la aplicación OAuth incluya los ámbitos requeridos por la plantilla.
No hay ningún proyecto accesible: confirma que el usuario tenga acceso al proyecto, esté conectado a la instancia de GitLab prevista y haya seleccionado la aplicación GitLab correcta en ChatGPT o Codex.
