Corrección automática de ejecuciones de CI con errores
Agrega una GitHub Action que llame a Devin para corregir ejecuciones de CI que fallen en tus PR.Guarda tu API key de Devin en GitHub
El flujo de trabajo llama a la API v3 de Devin para crear sesiones de forma programática. Crea un usuario de servicio y almacena su token como un secreto de GitHub Actions:
- Ve a app.devin.ai > Settings > Service Users y crea un usuario de servicio con el permiso
ManageOrgSessions - Copia el token de la API que se muestra después de crearlo — solo se muestra una vez
- En tu repositorio de GitHub, ve a Settings > Secrets and variables > Actions
- Añade dos secretos:
DEVIN_API_KEY(el token) yDEVIN_ORG_ID(el ID de tu organización — obténlo llamando aGET https://api.devin.ai/v3/enterprise/organizationscon tu token)
Añade el archivo de flujo de trabajo
Crea Reemplaza
.github/workflows/devin-ci-fix.yml. Este flujo de trabajo se ejecuta cada vez que el flujo de trabajo de CI existente finaliza con un error, extrae los nombres de los jobs que fallaron y llama a la Devin API para iniciar una sesión de corrección:"CI" en el array workflows por el valor exacto de name: de tu archivo de flujo de trabajo de CI existente (por ejemplo, "Tests", "Build & Test").Usa el campo tags en el cuerpo de la solicitud (por ejemplo, "tags": ["ci-fix", "pr-312"]) para llevar un registro de qué errores de CI ya han activado sesiones y evitar duplicados.Qué ocurre cuando falla la CI
Cuando falla la ejecución de CI de un PR, la Action extrae los detalles del error y se los pasa a Devin como mensaje de sesión. Este es un flujo típico de corrección automática:
- Lee los registros de CI — Devin abre la URL de la ejecución y analiza la salida de errores, las trazas de pila y los resultados de pruebas de los jobs que fallaron
- Rastrea el error hasta el código — Localiza el archivo y la línea relevantes en la rama del PR (por ejemplo,
UserList.tsx:34) y lee el código que lo rodea y el diff reciente - Publica una corrección — Realiza un commit con un cambio específico directamente en la rama del PR, lo que vuelve a ejecutar la CI automáticamente
- Comenta en el PR — Publica un resumen que explica la causa raíz y qué se cambió
Acotar a los fallos pertinentes
No todos los fallos de CI pueden solucionarse automáticamente: los timeouts en la infraestructura y los problemas de compilación de Docker no se resolverán con un cambio de código. Agrega una condición para que solo los fallos de trabajos relevantes activen a Devin:
