Ejecutar pruebas E2E nocturnas en staging
Programa a Devin para ejecutar cada noche tu suite de pruebas de extremo a extremo contra staging y crear tickets para los fallos.Esta guía explica cómo gestionar programaciones a través de la API v3, lo cual resulta útil para flujos de trabajo de automatización e infraestructura como código. También puede crear y gestionar programaciones directamente en la interfaz de usuario de Devin sin ninguna configuración de API.
Configura un usuario de servicio para acceder a la API
Las sesiones programadas creadas a través de la API necesitan un usuario de servicio con los permisos adecuados. Lo configurarás una sola vez y luego usarás su API key en todas las llamadas que se muestran a continuación.Exporta ambos valores para que los comandos de esta guía funcionen tal como se muestran:Consulta la documentación de autenticación de la API para obtener más información sobre los usuarios de servicio y sus permisos.
- Ve a app.devin.ai > Settings > Service Users y haz clic en Create Service User
- Asigna un rol que incluya el permiso
ManageOrgSchedules - Guarda la API key que se muestra después de crearlo: solo se muestra una vez y la usarás como tu token
Bearer
Crea un playbook para la ejecución de prueba
Antes de crear la programación, escribe un playbook que indique a Devin exactamente cómo ejecutar tu suite E2E y qué hacer con los resultados. Ve a Settings > Playbooks y crea un nuevo playbook, o usa Advanced Devin para generar uno a partir de una descripción de tu flujo de pruebas. Aquí tienes un ejemplo para una suite de Playwright:Toma nota del ID del playbook después de guardarlo: lo necesitarás para la llamada a la API. Puedes encontrarlo en la URL cuando veas el playbook (
app.devin.ai/.../playbooks/{playbook_id}).Crear la programación nocturna mediante la API
Ahora utiliza el endpoint La respuesta incluye un El campo
¿Por qué a las 2 a. m.? Quieres que las pruebas se ejecuten después de que el último despliegue del día se haya asentado en el entorno de staging, pero lo bastante temprano como para que los errores sean visibles cuando los ingenieros empiecen a trabajar. Ajústalo para que coincida con la zona horaria y la cadencia de despliegues de tu equipo.Consulta la documentación del endpoint Create schedule para ver todos los campos disponibles.
POST /v3/organizations/{org_id}/schedules para registrar la programación. Este ejemplo se ejecuta todas las noches a las 2:00 a. m. UTC:schedule_id que usarás para gestionar esta programación más adelante. Guárdalo:frequency usa la sintaxis estándar de cron. Algunas alternativas útiles:| Pattern | When it runs |
|---|---|
0 2 * * * | Cada noche a las 2 a. m. (UTC) |
0 2 * * 1-5 | Solo noches de lunes a viernes |
0 6 * * 1 | Todos los lunes a las 6 a. m. (UTC) |
Revisa la primera ejecución y ajusta el prompt
Después de que la tarea programada se ejecute por primera vez, revisa la sesión para asegurarte de que Devin haya ejecutado las pruebas correctamente y que el resultado coincida con lo que esperas.
- Abre el panel de control de Devin y encuentra la sesión en Past Sessions — estará etiquetada con el nombre de la programación
- ¿Se ejecutó la suite de Playwright? ¿Se crearon tickets de Linear para fallos reales (no pruebas inestables)?
- Revisa el canal de Slack
#qa-resultspara ver el mensaje de resumen
- Devin can’t access staging: Agrega tus variables de entorno de staging (como
STAGING_API_KEYoDATABASE_URL) como organization secrets para que estén disponibles en cada sesión programada - Too many tickets from flaky tests: Agrega un reintento a tu playbook: “Vuelve a ejecutar cualquier prueba fallida una vez antes de crear un ticket. Crea tickets solo para las pruebas que fallen dos veces.”
- Tests take too long: Acota el alcance de la suite — p. ej., “Solo ejecuta pruebas en
tests/critical/ytests/smoke/” — o aumenta el tiempo de espera de la sesión
Gestiona las programaciones como código
Una vez que tu ejecución nocturna sea estable, querrás gestionarla junto con el resto de tus programaciones: pausarla durante congelaciones de despliegue, actualizar el prompt cuando cambie tu suite de pruebas o crear una segunda programación para un entorno diferente.Pausa la programación durante una congelación de despliegue o una ventana de mantenimiento:Vuelve a habilitarlo cuando finalice el período de congelación:Enumera todas las programaciones para auditar qué se está ejecutando:Para equipos que gestionan múltiples programaciones, pídele a Devin que cree una CLI que sincronice las definiciones de programaciones a partir de un archivo de configuración YAML, para que puedas someter tus programaciones a control de versiones junto con tu configuración de pruebas:
