Revisar solicitudes de fusión de GitLab con Codex
Configura la revisión de código para las solicitudes de fusión de GitLab y solicita revisiones con @codex review.
Usa la revisión de código de Codex para obtener otra revisión de alta calidad de las solicitudes de fusión de GitLab. Codex revisa las diferencias de la solicitud de fusión, sigue las directrices de tu repositorio y publica una revisión de código estándar de GitLab centrada en problemas graves.
La compatibilidad con GitLab está en fase beta y se encuentra disponible en todos los planes de ChatGPT. La integración de Codex se ejecuta en Codex cloud. Los controles de repositorio de estilo GitHub de la aplicación de escritorio, como Create pull request, no se incluyen en esta versión beta.
Antes de comenzar
Asegúrate de tener:
- Una cuenta de GitLab conectada. GitLab.com requiere el flujo de conexión estándar; las instancias autogestionadas o Dedicated de GitLab requieren la configuración de una plantilla por parte del administrador del espacio de trabajo.
- Un archivo
AGENTS.mdsi quieres que Codex siga directrices de revisión específicas del repositorio.
Configurar la revisión de código de Codex
Configurar la conexión con GitLab y la identidad de revisión de Codex
Para GitLab.com, conecta tu cuenta de GitLab en Codex después de conectarte a GitLab en ChatGPT. Para una instancia autogestionada o Dedicated de GitLab, cada revisor debe conectarse después de que se haya publicado la plantilla del administrador del espacio de trabajo.
Para una instancia autogestionada o Dedicated de GitLab, abre Codex Cloud → Settings → Connectors. Un administrador del espacio de trabajo puede permitir que Codex cree una cuenta de servicio o guarde un token de acceso personal de una cuenta de servicio existente.
Permitir que Codex cree la cuenta
En Codex Cloud → Settings → Connectors, selecciona la aplicación correspondiente a tu host de GitLab autogestionado o Dedicated → selecciona Set up service account →
Create a service account. El administrador del espacio de trabajo que complete la configuración debe tener acceso de administrador a la instancia de GitLab. Elige Selected groups
o Selected projects only y, después, selecciona dónde debe operar Codex y crea
la cuenta. La opción de grupo concede acceso de Developer a cada grupo elegido,
que sus proyectos y subgrupos heredan; la opción de proyecto concede acceso de Developer
solo a los proyectos individuales que elijas. Codex creará la cuenta de servicio de la instancia de ChatGPT
Codex Connector con un token de acceso personal con el
ámbito api.
Usar una cuenta existente
En GitLab, crea o elige una cuenta de servicio y concédele acceso de Developer
solo en los grupos o proyectos donde deba operar Codex. En la página Service
accounts, selecciona la cuenta → Manage access tokens → Add new
token para
crear un token de acceso personal
con el ámbito api y una fecha de vencimiento dentro de al menos 30 días. De vuelta en
Codex, elige Use an existing service account, pega el token y selecciona
Save token. El token se cifra al guardarlo y no vuelve a mostrarse.
Administrar el token de la cuenta de servicio
Los administradores del espacio de trabajo pueden administrar la cuenta de servicio en Codex Cloud → Settings → Connectors. Para una cuenta creada por Codex, los administradores pueden revocar el token actual y generar uno nuevo. Para una cuenta existente, los administradores pueden sustituir o eliminar el token guardado en Codex y revocarlo por separado en GitLab si es necesario. Codex no puede responder a la actividad de GitLab hasta que se configure un token válido.
Elegir cómo llega a Codex la actividad de GitLab
Crear un entorno de proyecto para tareas de programación o configuraciones específicas del proyecto
En Codex Cloud → Settings → Environments, elige el proyecto de GitLab y crea un entorno de proyecto cuando quieras que Codex escriba o ejecute código para ese proyecto —por ejemplo, para editar archivos, confirmar cambios o enviar actualizaciones a la rama de una solicitud de fusión— o cuando una revisión dependa de secretos, acceso a la red o comandos de configuración específicos del proyecto.
Para GitLab.com, también se necesita un entorno de proyecto para habilitar las revisiones de Codex.
Mientras creas el entorno, activa Enable Codex activity from GitLab
para instalar el webhook del proyecto que envía a Codex los eventos de solicitudes de fusión, comentarios e incidencias. Para crear el webhook del proyecto se requiere acceso de Maintainer u Owner,
acceso de administrador o un rol personalizado que pueda administrar los webhooks del proyecto. Los webhooks firmados de proyectos y grupos requieren GitLab 19.0 o una versión posterior. En
GitLab 19.0 autogestionado, confirma que la marca de función webhook_signing_token esté
habilitada; está habilitada de forma predeterminada y se eliminó en GitLab 19.1.
Habilitar la actividad para las revisiones de Codex en proyectos de un grupo de GitLab
Para una instancia autogestionada o Dedicated de GitLab, los administradores del espacio de trabajo pueden abrir Environments → GitLab activity → Manage groups para habilitar las revisiones de Codex en un grupo y sus subgrupos. Codex instalará un webhook de grupo que abarque los proyectos de todo ese grupo. El usuario de GitLab conectado debe ser Owner del grupo, y los webhooks de grupo requieren GitLab Premium o Ultimate y GitLab 19.0 o una versión posterior.
La actividad de grupo habilita las revisiones de código, pero no crea entornos de proyecto. Para ejecutar tareas de programación activadas desde GitLab, como editar archivos, ejecutar comandos, confirmar cambios o enviar actualizaciones a una solicitud de fusión, crea un entorno de proyecto.
Configurar las políticas de revisión de código
Configura las políticas de revisión de código en la
configuración de revisión de Codex.
Elige la política del repositorio: Review my MRs, Review team MRs,
Review all MRs o Follow personal. Después, elige cuándo se ejecutan las revisiones: On MR open,
On every push o Smart Trigger (Experimental). La configuración del repositorio puede
anular los valores predeterminados personales.
Solicitar una revisión de Codex
- En un comentario de una solicitud de fusión, menciona a
@codex review. - Espera a que Codex reaccione (👀) y publique una revisión.
Codex publica discusiones y notas de GitLab en la solicitud de fusión, tal como lo haría un compañero de equipo. De forma predeterminada, las revisiones solicitadas manualmente pueden incluir hallazgos P0, P1 y P2, mientras que las revisiones automáticas se centran en hallazgos P0 y P1.
Habilitar las revisiones automáticas
Para revisar automáticamente las solicitudes de fusión que cumplan los requisitos, activa Automatic
reviews en la configuración de Codex, elige la política del repositorio de GitLab y elige un
desencadenador: On MR open, On every push o Smart Trigger (Experimental).
Codex se ejecuta sin un comentario @codex review cuando el evento de la solicitud de fusión
coincide con esa política y ese desencadenador.
La actividad de GitLab debe estar habilitada mediante un webhook del proyecto o un webhook de un grupo antecesor. Para una instancia autogestionada o Dedicated de GitLab, la cuenta de servicio configurada también debe tener acceso para escribir en el proyecto. Codex usa un entorno de proyecto configurado cuando está disponible. Si un grupo antecesor ya habilita la actividad, los proyectos descendientes heredan esa cobertura.
Personalizar lo que revisa Codex
Codex busca archivos AGENTS.md en tu repositorio y sigue las reglas de revisión de código
aplicables. Añade una sección ## Code Review Rules al archivo más cercano al
código al que se aplican las reglas. Usa encabezados ### para agrupar comprobaciones relacionadas cuando
resulte útil.
Por ejemplo, un servicio de informes de experimentos puede impedir que el comportamiento posterior a la exposición cambie una cohorte de comparación:
## Code Review Rules
### Experiment cohorts
- Do not filter treatment comparisons on post-exposure behavior, including conversion or retention.
Safe path: build cohorts from assignment or exposure; report conversion as an outcome.Coloca las reglas de todo el repositorio en el archivo AGENTS.md raíz y las reglas específicas de un servicio en
un archivo anidado, como services/experiment_reporting/AGENTS.md. Codex aplica
las directrices raíz y las más específicas que abarquen cada archivo modificado, de modo que los cambios
no relacionados no tengan que incorporar contexto específico del servicio.
Empieza con dos o tres reglas concisas que codifiquen comprobaciones que los revisores suelen explicar. Reglas útiles:
- Céntrate en comportamientos importantes y específicos del repositorio. Describe la restricción de compatibilidad, el límite de datos o el efecto secundario inseguro que debe señalarse y por qué es importante.
- Indica la vía segura o la excepción. Proporciona a Codex suficiente contexto para distinguir un problema real del comportamiento esperado.
- Mantén las reglas acotadas y duraderas. Da preferencia a los resultados frente a nombres de funciones que pueden cambiar y coloca las directrices cerca del código al que se aplican.
- Deja las comprobaciones mecánicas en CI. Excluye de las reglas de revisión el formato, el lint y otras comprobaciones deterministas.
Abre una solicitud de fusión representativa y solicita una revisión con @codex review.
Perfecciona las reglas según los hallazgos y comentarios que observes, y restringe o
elimina las directrices que generen ruido.
Las reglas de revisión de código orientan a Codex; no sustituyen las pruebas, las protecciones de ramas ni las aprobaciones obligatorias.
Para centrar una revisión puntual, añádelo al comentario de tu solicitud de fusión:
@codex review for issues in the database migration
Actuar sobre los hallazgos de la revisión
Para corregir los hallazgos de una revisión se requiere un entorno de proyecto configurado; la actividad de grupo por sí sola admite revisiones, pero no puede ejecutar tareas de programación. Si el proyecto tiene un entorno, pide a Codex que corrija un problema en la misma solicitud de fusión dejando otro comentario:
@codex fix the P1 issueCodex inicia un chat en la nube con la solicitud de fusión como contexto y puede enviar una corrección a la rama cuando tenga permiso para hacerlo.
Asignar otras tareas a Codex
Las demás tareas de programación también requieren un entorno de proyecto configurado; la actividad de
grupo por sí sola admite revisiones. Si mencionas a @codex en un comentario con
cualquier contenido distinto de review, Codex inicia un chat en la nube usando
tu solicitud de fusión como contexto.
@codex fix the CI failuresSolucionar problemas de la revisión de código
Si Codex no reacciona ni publica una revisión:
- Confirma que se haya seleccionado la aplicación de GitLab prevista; si usas una configuración específica del proyecto, confirma que el proyecto tenga el entorno de Codex cloud previsto.
- Confirma la actividad del proyecto o de un grupo antecesor. En GitLab, consulta Webhooks → Recent events y verifica que las entregas de solicitudes de fusión y notas se completen correctamente.
- Para una instancia autogestionada o Dedicated de GitLab, confirma que el webhook del proyecto o grupo esté
firmado, que la verificación SSL esté habilitada y que la instancia use GitLab 19.0 o
una versión posterior. En GitLab 19.0 autogestionado, confirma que la marca de función
webhook_signing_tokenesté habilitada; repara los webhooks deshabilitados automáticamente tras producirse errores. - Para una instancia autogestionada o Dedicated de GitLab, confirma que el token de acceso personal de la cuenta de servicio
existente esté activo y tenga el ámbito
api. Si Codex creó la cuenta de servicio, confirma que esté configurada correctamente en la configuración del conector de Codex y que el proyecto o grupo esté habilitado. - Para una instancia autogestionada o Dedicated de GitLab, confirma que la cuenta de servicio del espacio de trabajo —no solo el usuario de GitLab conectado— tenga acceso de Developer al proyecto o a un grupo principal para que Codex pueda publicar revisiones y reacciones. La pertenencia se hereda; la actividad y el acceso de la cuenta de servicio son aspectos independientes.
- Confirma que Code review o Automatic reviews esté habilitado y que la solicitud de fusión coincida con la política y el desencadenador del repositorio.
- Usa
@codex review.