Skip to main content

通过 Linear 自动分诊 Bug

一旦在 Linear 中打上标签,Devin 就会自动对 Bug 进行调查。
AuthorCognition
Category项目管理
Features集成, 操作手册
1

编写分诊手册

自动化需要一个 playbook,来告诉 Devin 你的团队是如何对 bug 进行分诊的——不仅仅是“修复 bug”,而是工程师实际会遵循的具体步骤。先复制 !triage 模板 playbook,并根据你的技术栈进行自定义。或者前往 Settings > Playbooks,使用宏 !triage-bug 创建一个新的 playbook。下面是一个示例:你的 playbook 越具体,Devin 的分诊效果就越好。参考你团队的实际做法——错误日志规范、测试框架、分支命名规则。有关如何编写高效 playbook 的更多信息,请参阅 playbook 文档,或者使用 Advanced Devin 为你生成一个 playbook。
连接 Datadog MCP(或其他日志/监控服务),并为 Devin 提供数据库只读访问权限,以便它在排查过程中检查日志、指标和查询数据。
2

设置自动化触发器

现在将该 playbook 连接到 Linear,这样在 bug 被加上标签时就会自动触发。
  1. 前往 Settings > Integrations > Linear(如果尚未连接该集成,请先完成连接 — 参见设置指南
  2. Synced playbook labels 下,点击 Add playbook 并选择 !triage-bug —— 这会在 Linear 的 “Devin Playbooks” 标签组中创建一个对应的标签
  3. 向下滚动到 Automation triggers 并点击 Add trigger
    • Teams:选择提交 bug 的团队(例如 “Engineering”)
    • Labels:选择 Bug(或你的团队用于缺陷报告的标签)
    • Playbook:选择 !triage-bug
  4. 保存该触发器
触发器使用 edge detection —— 它们只会在工单转换为匹配状态时触发(例如,当有人新增 Bug 标签时),而不会对已经具有该标签的工单触发。这样就不会不小心在你现有的整个 backlog 上触发 Devin。
要让 playbook 标签自动同步到 Linear,你的 Linear workspace 必须将 Manage workspace labels 设置为 All members(位于 Linear 的 Settings > Security 中)。如果未启用该设置,你需要在 Linear 中手动创建这些标签。
3

给 bug 打上标签,看看 Devin 如何排查

当一名工程师像这样在 Linear 工单上添加 Bug 标签时:
ENG-487:用户在 /contact 页面上提交联系表单时看到 500 错误。问题从上周五的部署之后开始出现。堆栈跟踪指向 src/lib/forms.ts 中的 validateEmail()
Devin 会自动启动一次会话,并按照你的分诊 playbook 行动:
  • 阅读工单 —— 从 Linear 中拉取标题、描述和所有评论
  • 搜索代码库 —— 找到 src/lib/forms.tssrc/routes/contact.ts 中的路由处理器,以及表单校验测试
  • 检查最近变更 —— 运行 git log --since="last Friday" -- src/lib/forms.ts,发现一个重构邮箱正则的提交
Devin 的分析结果会通过集成自动同步回 Linear 工单。整个过程无需任何人将工单指派给 Devin——仅凭这个标签就能触发完整的工作流。
安装 Linear 集成后,Devin 原生就能访问 Linear 的工具——因此你的 playbook 可以指示 Devin 根据调查结果更新工单标签。比如,你的分诊 playbook 可以让 Devin 根据结论添加 Clear FixNeeds ReviewLacking Context 等标签。由于标签可以触发其他自动化流程,你可以将多个工作流串联起来——例如,一个 Clear Fix 标签可以启动第二个 Devin 会话来编写修复代码。
4

优化循环流程

在进行了几轮分诊之后,根据 Devin 做得好的部分以及仍然需要更多指引的地方来优化这一流程。基于真实会话改进 playbook。 如果 Devin 总是漏掉某些步骤(例如不检查日志或遗漏相关服务),就把这一步添加到你的 !triage-bug playbook 中。你可以使用 Advanced Devin 来分析过去的会话,自动改进你的 playbook,或者为 Devin 在所有会话中都应该遵循的模式创建 Knowledge 条目——比如「always check the error tracking dashboard first」或「our auth service logs are in CloudWatch, not Datadog.」。在准备好时添加修复 playbook。 一旦你信任 Devin 的分诊结果,创建第二个类似 !fix-bug 的 playbook,进一步推进流程——编写修复、添加回归测试并创建一个 PR。把它关联到单独的标签,这样你的团队就可以在「just tell me what’s wrong」和「fix it for me」之间进行选择: