Esegui test E2E notturni sull'ambiente di staging
Pianifica Devin perché esegua la tua suite di test end-to-end sull'ambiente di staging ogni notte e apra ticket per i test falliti.Questa guida illustra come gestire le pianificazioni tramite le API v3, utili per flussi di lavoro di automazione e infrastructure-as-code. È anche possibile creare e gestire le pianificazioni direttamente nell’interfaccia utente di Devin senza alcuna configurazione API.
Configura un utente di servizio per l'accesso alle API
Le sessioni pianificate create tramite l’API richiedono un service user con le autorizzazioni appropriate. Ne configurerai uno una volta sola, quindi userai la sua API key in tutte le chiamate riportate di seguito.Esporta entrambi i valori in modo che i comandi in questa guida funzionino senza modifiche:Consulta la documentazione sull’autenticazione delle API per ulteriori informazioni sugli utenti di servizio e sulle autorizzazioni.
- Vai su app.devin.ai > Settings > Service Users e fai clic su Create Service User
- Assegna un ruolo che includa l’autorizzazione
ManageOrgSchedules - Salva l’API key mostrata dopo la creazione — viene visualizzata una sola volta e la utilizzerai come token
Bearer
Crea un playbook per l'esecuzione del test
Prima di creare la pianificazione, scrivi un playbook che indichi a Devin esattamente come eseguire la tua suite E2E e cosa fare con i risultati. Vai su Settings > Playbooks e crea un nuovo playbook — oppure usa Advanced Devin per generarne uno a partire da una descrizione del tuo workflow di test. Ecco un esempio per una suite Playwright:Prendi nota dell’ID del playbook dopo averlo salvato: ti servirà per la chiamata all’API. Puoi trovarlo nell’URL quando visualizzi il playbook (
app.devin.ai/.../playbooks/{playbook_id}).Crea la pianificazione notturna tramite l’API
Ora utilizza l’endpoint La risposta include uno Il campo
Perché le 2:00? Vuoi che i test vengano eseguiti dopo che l’ultimo deploy della giornata si è stabilizzato in staging, ma abbastanza presto perché eventuali errori siano visibili quando gli ingegneri iniziano a lavorare. Regola l’orario in base al fuso orario del tuo team e alla frequenza dei deploy.Consulta la documentazione dell’endpoint Create schedule per tutti i campi disponibili.
POST /v3/organizations/{org_id}/schedules per registrare la pianificazione. In questo esempio viene eseguito ogni notte alle 2:00 UTC:schedule_id che utilizzerai per gestire questa pianificazione in seguito. Salvalo:frequency utilizza la sintassi cron standard. Alcune alternative utili:| Pattern | Quando viene eseguito |
|---|---|
0 2 * * * | Ogni notte alle 2:00 UTC |
0 2 * * 1-5 | Solo nei giorni feriali (lun-ven) |
0 6 * * 1 | Ogni lunedì alle 6:00 UTC |
Verificare la prima esecuzione e ottimizzare il prompt
Dopo che la pianificazione è scattata per la prima volta, controlla la sessione per assicurarti che Devin abbia eseguito i test correttamente e che l’output corrisponda alle tue aspettative.
- Apri la dashboard di Devin e trova la sessione sotto Past Sessions — sarà etichettata con il nome della pianificazione
- La suite Playwright è stata eseguita? Sono stati creati ticket in Linear per i reali errori (non per i test instabili)?
- Controlla il canale Slack
#qa-resultsper il messaggio di riepilogo
- Devin non può accedere allo staging: aggiungi le variabili d’ambiente dell’ambiente di staging (come
STAGING_API_KEYoDATABASE_URL) come segreti dell’organizzazione in modo che siano disponibili in ogni sessione pianificata - Troppi ticket dovuti a test instabili (flaky): aggiungi un retry al tuo playbook: “Esegui nuovamente qualsiasi test non superato una volta prima di aprire un ticket. Apri ticket solo per i test che falliscono due volte.”
- I test richiedono troppo tempo: limita l’ambito della suite — ad es., “Esegui solo i test in
tests/critical/etests/smoke/” — oppure aumenta il timeout della sessione
Gestisci le pianificazioni come codice
Una volta che l’esecuzione notturna è stabile, vorrai gestirla insieme alle altre pianificazioni — mettendola in pausa durante i periodi di blocco dei deploy, aggiornando il prompt quando la tua suite di test cambia o avviando una seconda pianificazione per un ambiente diverso.Metti in pausa la pianificazione durante un periodo di blocco dei deploy o una finestra di manutenzione:Riattivalo quando il freeze termina:Elenca tutte le pianificazioni per controllare cosa è in esecuzione:Per i team che gestiscono più pianificazioni, chiedete a Devin di creare una CLI che sincronizzi le definizioni di pianificazione da un file di configurazione YAML, così da poter versionare le pianificazioni insieme alla configurazione dei test:
