跳转到主要内容
将 SonarQube 质量门禁失败从阻塞问题转为后台处理工作。此自动化会监听 pull request 上的质量门禁失败事件,从 SonarQube 拉取 issue 细分信息,修复报告中的代码异味和 bug,并将 commit 推送到同一分支——无需开发者干预,即可让质量门禁恢复为绿色。

使用此模板

在 Devin 中打开 SonarQube 质量门禁修复,并使用默认配置创建此自动化。你可以在保存前按需自定义。

此自动化的作用

SonarQube 非常擅长发现问题;真正耗时的是后续处理。SonarQube MCP 让 Devin 能够完整访问问题报告,因此它可以按顺序处理每一项发现——修复真实的软件缺陷、重构代码异味并消除重复代码——然后重新运行扫描,确认质量门禁已通过。

工作原理

触发条件Github 事件check.run
  • 事件github:check_run
    • 条件
      • action eq completed
      • check_run.conclusion eq failure
      • check_run.name contains sonar
      • repository.full_name eq your-org/your-repo
Devin 会执行的操作:基于完整的事件上下文启动一个会话,执行下面的提示,并在失败时选择性地通知你。

前提条件

示例提示

该模板自带此提示。你可以在点击 Use template 后进行编辑,也可以保持原样。

设置

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

何时使用此模板

  • 在 CI 中强制执行 SonarQube 质量门禁的企业
  • 技术债务较重、需要逐步清理的遗留代码库
  • 希望坚持质量规范、又不想增加阻力的团队
  • 将新的代码仓库逐步纳入更严格质量门禁的场景

自定义建议

  • 将范围限定为特定项目、Profile 或规则集
  • 调整哪些规则类别会触发此自动化
  • Code Pattern Enforcer 结合使用,以支持团队特定的自定义模式
  • CI Failure Fixer 串联使用,实现完整的 CI 覆盖

另请参阅