跳转到主要内容
CI 失败修复器 自动化无需人工干预,即可让你的 始终保持绿灯。每当非 Devin 创建的 出现 CI 检查失败时,Devin 都会打开失败的作业,读取构建和测试日志,定位根因,并将修复推送到同一分支——随后重新运行整套检查,以确认该检查已通过。

使用此模板

在 Devin 中打开 CI 失败修复器,并按默认配置创建该自动化。你也可以在保存前进行自定义。
想看一步步的实操演示?请参阅 CI 失败修复器 的分步教程

此自动化的工作方式

此模板会将 GitHub 的 check_run webhook 连接到 Devin 会话。Devin 拥有拉取请求 () 和失败作业 URL 的完整上下文,因此它可以拉取该分支、在本地复现故障,并迭代修复,而你甚至无需打开电脑。该自动化内置了防护机制,会跳过任何由 devin-ai-integration[bot] 创建的提交,从而避免 Devin 陷入反复修复自己提交内容的循环。

工作原理

触发器GitHub 事件check.run
  • 事件github:check_run
    • 条件
      • action eq completed
      • check_run.conclusion eq failure
      • repository.full_name eq your-org/your-repo
Devin 会执行的操作:基于完整的事件上下文启动会话,执行下方提示,并可在失败时通知你。

前置条件

示例提示

该模板自带以下提示。点击 使用模板 后,你可以进行编辑,也可以保持原样。

设置步骤

  1. 在 Devin 中打开 Automations → Templates
  2. 点击 CI 失败修复器。系统会打开创建页面,并预先填好此模板。
  3. 连接所需的集成,如果你还没有安装 MCP 服务器,请先安装。
  4. 替换触发条件中的占位符值 (例如,将 your-org/your-repo 替换为你的实际 仓库) 。
  5. 检查提示,并根据你团队的语言、规范和护栏进行调整。
  6. 点击 Create automation
大多数自动化模板都包含建议的 ACU 和调用限制,用于在早期 rollout 期间控制成本。在你对自动化行为有足够把握之前,请保持默认设置;之后再根据你的工作负载提高这些限制。

何时使用此模板

  • 夜间或非工作时间出现、导致无法合并的偶发性测试失败
  • 不想手动修复的 lint、类型检查和格式问题
  • 社区 中缺失的导入、过期的快照,以及一些无关紧要的测试失败
  • 在不打断另一位工程师深度工作的情况下,为开发者排除阻塞

自定义建议

  • 将触发范围限制在单个仓库,或扩展到组织中的所有仓库
  • 添加条件,仅在特定检查名称时触发 (例如,只触发 lint,而不是整个矩阵)
  • 如果你的测试套件运行时间较长,可以提高 ACU 上限;或者降低上限以控制成本
  • 在失败时串联一个 Slack 通知,这样当 Devin 无法继续处理时,人工评审者就可以介入

另请参阅