Ce guide explique comment gérer les automatisations planifiées via l’API v3, ce qui est utile pour les workflows d’infrastructure-as-code. Vous pouvez également les créer et les gérer directement depuis la page Automations sans aucune configuration d’API.
1
Configurer un compte de service pour l’accès à l’API
Les automatisations créées via l’API nécessitent un utilisateur de service avec les autorisations appropriées. Vous en configurerez un une seule fois, puis utiliserez son API key dans tous les appels ci-dessous.Exportez les deux valeurs afin que les commandes de ce guide fonctionnent telles quelles :Consultez la documentation sur l’authentification de l’API pour plus d’informations sur les comptes de service et leurs autorisations.
- Accédez à app.devin.ai > Settings > Devin API, ouvrez l’onglet Service users et cliquez sur Provision service user
- Attribuez un rôle qui inclut l’autorisation
ManageOrgAutomations - Enregistrez l’API key affichée après le provisioning — elle n’est affichée qu’une seule fois et vous l’utiliserez comme jeton
Bearer
ViewOrganizations peuvent également appeler l’endpoint List Organizations avec leur jeton :2
Rédigez un playbook pour l’exécution du test
Avant de créer l’automatisation, rédigez un playbook qui indique à Devin exactement comment exécuter votre suite E2E et quoi faire des résultats. Allez dans Settings > Playbooks et créez un nouveau playbook — ou demandez à Devin d’en générer un à partir d’une description de votre workflow de test. Voici un exemple pour une suite Playwright :Notez l’ID du playbook après l’avoir enregistré — vous le référencerez dans le prompt de l’automatisation. Vous pouvez le trouver dans l’URL lorsque vous affichez le playbook (
app.devin.ai/.../playbooks/{playbook_id}).3
Créer l’automatisation nocturne via l’API
Utilisez maintenant l’endpoint La réponse contient un La condition
POST /v3/organizations/{org_id}/automations pour enregistrer une automatisation avec un trigger schedule:recurring et une action start_session. Référencez le playbook dans le prompt à l’aide d’un token @playbook:{id}. Les sessions démarrées par une automatisation ne disposent que des outils que vous leur accordez : le bloc tools active donc les outils Linear et permet à Devin de publier dans votre canal #qa-results (remplacez les ID du workspace et du canal Slack par les vôtres). Cet exemple s’exécute chaque nuit à 2 h UTC :automation_id que vous utiliserez pour gérer cette automation par la suite. Enregistrez-le :rrule prend une RRULE iCalendar évaluée en UTC. Quelques alternatives utiles :Pourquoi 2 h ? Vous voulez que les tests s’exécutent une fois que le dernier déploiement de la journée s’est stabilisé sur l’environnement de staging, mais suffisamment tôt pour que les échecs soient visibles lorsque les ingénieurs commencent à travailler. Adaptez ce réglage au fuseau horaire de votre équipe et à votre cadence de déploiement.Consultez la documentation de l’endpoint « Create automation » pour voir tous les champs disponibles.
4
Vérifier la première exécution et affiner le prompt
Après le premier déclenchement de l’automatisation, vérifiez la session pour vous assurer que Devin a lancé les tests correctement et que les résultats correspondent à ce que vous attendez.
- Ouvrez l’automatisation sur la page Automations et suivez le lien de session dans son onglet Activity
- La suite Playwright s’est‑elle exécutée ? Des tickets Linear ont‑ils été créés pour des échecs réels (et non pour des tests instables) ?
- Vérifiez le canal Slack
#qa-resultspour le message récapitulatif
- Devin ne peut pas accéder au staging : ajoutez vos variables d’environnement de staging (comme
STAGING_API_KEYouDATABASE_URL) en tant que organization secrets afin qu’elles soient disponibles dans chaque session lancée par l’automatisation - Trop de tickets dus à des tests instables : ajoutez une nouvelle tentative à votre playbook : « Relancez tout test en échec une fois avant de créer un ticket. Ne créez des tickets que pour les tests qui échouent deux fois. »
- Les tests prennent trop de temps : restreignez la portée de la suite — par exemple : « N’exécutez que les tests dans
tests/critical/ettests/smoke/» — ou augmentez le délai d’expiration de la session
5
Gérez les automatisations sous forme de code
Une fois que votre exécution nocturne est stable, vous voudrez la gérer au même titre que vos autres automatisations — la mettre en pause pendant les gels de déploiement, mettre à jour le prompt lorsque votre suite de tests évolue, ou configurer une deuxième automatisation pour un environnement différent.Mettez l’automatisation en pause pendant un gel de déploiement ou une fenêtre de maintenance :Réactivez-la une fois le gel terminé :Répertoriez toutes les automatisations pour vérifier ce qui est en cours d’exécution :Pour les équipes qui gèrent plusieurs automatisations, demandez à Devin de créer un CLI qui synchronise les définitions d’automatisations à partir d’un fichier de configuration YAML, afin que vous puissiez placer vos automatisations sous gestion de versions en même temps que votre configuration de test :

