Agent Skills
返回列表
💻

SonarQube 质量门禁强制器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/sonarqube-quality-gate-enforcer-14。

技能介绍

问题背景

Pull Request 合并前,代码质量指标常依赖人工检查或分散的 CI 脚本,覆盖率回退、重复率超标或安全热点未审容易被忽略,导致缺陷流入主干。SonarQube 的质量门禁规则需要与 PR 流程紧密结合,否则阈值更新和审查结果难以同步。

核心能力与工作方式

该技能通过 SonarQube Web API 和 ce/task 端点,在 PR 工作流中自动执行质量门禁检查:

  • 触发时机:在代码提交或 PR 触发时调用分析接口,启动 SonarQube 扫描任务
  • 指标校验:读取覆盖率、重复率、安全热点等数据,与预设阈值对比
  • 结果反馈:当指标未达标(如覆盖率下降)或存在未审查的安全热点时,返回阻断合并的结果,并在 PR 中标注具体问题

适用边界与注意点

  • 环境依赖:需要安装 Native Git 并在 PATH 中可用;构建需 Java 17 和 npm 环境
  • UI 修改场景:若涉及 Web 界面改动,需额外克隆 sonarqube-webapp 仓库完成构建,并通过 WEBAPP_BUILD_PATH 环境变量关联
  • 测试控制:可通过 -x test 参数跳过 Gradle 测试,适合仅需构建的场景,但可能遗漏测试覆盖问题

使用场景

  • 在 PR 合并前调用 SonarQube `ce/task` 检查结果,覆盖率下降时阻断合并。
  • 当重复率超过阈值或安全热点未审查,需要在 PR 中标注失败项并阻止合入主干。
  • 修改 SonarQube Web 界面后,需要本地构建 webapp 并传入 `WEBAPP_BUILD_PATH` 完成主项目构建。
  • 本地构建技能项目时,Java 17 不可用,需要确认 `PATH` 与构建依赖是否满足。

适合人员

  • 后端或前端工程师:希望 PR 合并前自动拦截覆盖率回退和重复代码。
  • DevOps 或 CI 维护者:需要在流水线中固化 SonarQube 质量门禁,统一合并标准。
  • 技术负责人或代码审查者:希望在 PR 中看到安全热点未审和门禁失败原因。