Executar testes E2E noturnos no ambiente de staging
Agende o Devin para executar sua suíte de testes de ponta a ponta (E2E) no ambiente de staging todas as noites e abrir chamados para as falhas.Este guia aborda o gerenciamento de agendamentos por meio da API v3, útil para fluxos de trabalho de automação e infraestrutura como código. Você também pode criar e gerenciar agendamentos diretamente na interface do Devin sem nenhuma configuração de API.
Configurar um usuário de serviço para acesso à API
Sessões agendadas criadas via API precisam de um usuário de serviço com as permissões corretas. Você configurará um usuário de serviço uma vez e, em seguida, usará sua Chave de API em todas as chamadas abaixo.Exporte ambos os valores para que os comandos deste guia funcionem exatamente como estão:Consulte a documentação de autenticação da API para saber mais sobre usuários de serviço e permissões.
- Vá para app.devin.ai > Settings > Service Users e clique em Create Service User
- Atribua uma função que inclua a permissão
ManageOrgSchedules - Salve a Chave de API exibida após a criação — ela é mostrada apenas uma vez e você a usará como seu token
Bearer
Crie um playbook para a execução do teste
Before creating the schedule, escreva um playbook que instrua o Devin exatamente sobre como executar sua suíte E2E e o que fazer com os resultados. Vá para Settings > Playbooks e crie um novo playbook — ou use o Advanced Devin para gerar um a partir de uma descrição do seu fluxo de testes. Aqui está um exemplo de playbook para uma suíte Playwright:Anote o ID do playbook após salvar — você vai precisar dele para a chamada de API. Você pode encontrá-lo na URL ao visualizar o playbook (
app.devin.ai/.../playbooks/{playbook_id}).Crie o agendamento noturno pela API
Agora use o endpoint A resposta inclui um O campo
Por que 2h? Você quer que os testes sejam executados depois que o último deploy do dia tiver estabilizado em staging, mas cedo o suficiente para que as falhas sejam visíveis quando engenheiros e engenheiras começarem a trabalhar. Ajuste para ficar alinhado ao fuso horário e à cadência de deploy da sua equipe.Consulte a documentação do endpoint Create schedule para ver todos os campos disponíveis.
POST /v3/organizations/{org_id}/schedules para cadastrar o agendamento. Este exemplo é executado todas as noites às 2h UTC:schedule_id que você usará para gerenciar este agendamento mais tarde. Salve-o:frequency usa a sintaxe cron padrão. Algumas alternativas úteis:| Padrão | Quando é executado |
|---|---|
0 2 * * * | Todas as noites às 2h UTC |
0 2 * * 1-5 | Apenas noites de semana (seg–sex) |
0 6 * * 1 | Todas as segundas-feiras às 6h UTC |
Revise a primeira execução e ajuste o prompt
Depois que o agendamento for acionado pela primeira vez, verifique a sessão para garantir que o Devin executou os testes corretamente e que o resultado corresponde ao que você espera.
- Abra o painel do Devin e encontre a sessão em Past Sessions — ela estará marcada com o nome do agendamento
- A suíte Playwright foi executada? Foram criados tickets no Linear para falhas reais (e não para testes instáveis)?
- Verifique o canal do Slack
#qa-resultspara ver a mensagem de resumo
- O Devin não consegue acessar o ambiente de staging: Adicione suas variáveis de ambiente de staging (como
STAGING_API_KEYouDATABASE_URL) como segredos da organização, para que fiquem disponíveis em todas as sessões agendadas - Tickets demais causados por testes instáveis: Adicione uma nova tentativa ao seu playbook: “Execute novamente qualquer teste com falha uma vez antes de abrir um ticket. Só abra tickets para testes que falharem duas vezes.”
- Os testes demoram demais: Reduza o escopo da suíte — por exemplo, “Execute apenas os testes em
tests/critical/etests/smoke/” — ou aumente o tempo limite da sessão
Gerencie agendamentos como código
Depois que sua execução noturna estiver estável, você vai querer gerenciá-la junto com seus outros agendamentos — pausando durante períodos de congelamento de deploy, atualizando o prompt quando sua suíte de testes for alterada ou criando um segundo agendamento para um ambiente diferente.Pausar o agendamento durante um período de congelamento de deploy ou janela de manutenção:Reative-o quando o período de congelamento acabar:Liste todos os agendamentos para auditar o que está rodando:Para equipes que gerenciam vários agendamentos, peça ao Devin para criar uma CLI que sincronize definições de agendamentos a partir de um arquivo de configuração YAML — assim você pode versionar seus agendamentos junto com sua configuração de testes:
