Triage automatique des bugs via Linear
Devin enquête automatiquement sur les bugs dès qu\u00a0une étiquette est appliquée dans Linear.Rédiger un playbook de triage
L’automatisation a besoin d’un playbook qui indique à Devin comment votre équipe effectue le triage des bugs — pas seulement « corriger le bug », mais les étapes précises qu’un ingénieur suivrait.Commencez par dupliquer le playbook modèle
!triage et le personnaliser pour votre stack. Vous pouvez aussi aller dans Settings > Playbooks et créer un nouveau playbook avec la macro !triage-bug. Voici un exemple :Plus votre playbook est précis, meilleur sera le triage de Devin. Appuyez-vous sur les pratiques réelles de votre équipe — conventions de journalisation des erreurs, frameworks de test, règles de nommage de branches. Consultez la documentation sur les playbooks pour en savoir plus sur l’écriture de playbooks efficaces, ou utilisez Advanced Devin pour générer un playbook pour vous.Configurer le déclencheur d’automatisation
Connectez maintenant le playbook à Linear pour qu’il se déclenche automatiquement lorsqu’un bug se voit attribuer un label.
- Allez dans Settings > Integrations > Linear (connectez d’abord l’intégration si ce n’est pas déjà fait — guide de configuration)
- Sous Synced playbook labels, cliquez sur Add playbook et sélectionnez
!triage-bug— cela crée un label correspondant dans le groupe de labels “Devin Playbooks” de Linear - Faites défiler jusqu’à Automation triggers et cliquez sur Add trigger :
- Teams : sélectionnez l’équipe où les bugs sont enregistrés (par exemple, “Engineering”)
- Labels : sélectionnez
Bug(ou le label que votre équipe utilise pour les rapports de bug) - Playbook : sélectionnez
!triage-bug
- Enregistrez le déclencheur
Bug), et non pour les tickets qui l’ont déjà. Cela signifie que vous ne déclencherez pas Devin accidentellement sur l’ensemble de votre backlog existant.Pour que les labels de playbook soient synchronisés automatiquement avec Linear, votre espace de travail Linear doit avoir Manage workspace labels défini sur All members (dans les Settings > Security de Linear). Si ce n’est pas activé, vous devrez créer les labels manuellement dans Linear.
Ajoutez le label « bug » et laissez Devin enquêter
Lorsqu’un·e ingénieur·e ajoute le label
Bug à un ticket Linear comme ceci :ENG-487 : Les utilisateurs voient une erreur 500 lorsqu’ils soumettent le formulaire de contact sur /contact. Le problème a commencé après le déploiement de vendredi dernier. La stack trace pointe versDevin démarre automatiquement une session et suit votre playbook de triage :validateEmail()danssrc/lib/forms.ts.
- Lit le ticket — récupère le titre, la description et tous les commentaires à partir de Linear
- Explore la base de code — trouve
src/lib/forms.ts, le route handler danssrc/routes/contact.tset les tests de validation du formulaire - Vérifie les changements récents — exécute
git log --since="last Friday" -- src/lib/forms.tset repère un commit qui a refactorisé la regex d’email
Optimiser la boucle
Après quelques triages, affinez le système en fonction de ce que Devin fait bien et des points où il a besoin de davantage de guidage.Améliorez le playbook à partir de sessions réelles. Si Devin manque systématiquement quelque chose (par exemple, ne pas vérifier les logs ou rater un service lié), ajoutez cette étape à votre playbook
!triage-bug. Vous pouvez utiliser Advanced Devin pour analyser les sessions passées et améliorer automatiquement votre playbook, ou créer des entrées Knowledge pour les motifs que Devin doit suivre dans toutes les sessions — comme « always check the error tracking dashboard first » ou « our auth service logs are in CloudWatch, not Datadog. ».Ajoutez un playbook de correction quand vous êtes prêt. Une fois que vous faites confiance au triage de Devin, créez un second playbook comme !fix-bug qui va plus loin — en écrivant une correction, en ajoutant un test de non-régression et en ouvrant une pull request (PR). Associez-le à un label séparé pour que votre équipe puisse choisir entre « dis-moi simplement ce qui ne va pas » et « corrige-le pour moi » :