SonarQube 门禁检查器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/sonarqube-gate-checker-2。
技能介绍
要解决的问题
代码合入前,团队通常依赖 SonarQube 的质量门禁来判断当前分支是否满足质量标准。但实际操作中,开发者需要频繁打开 Web 界面、切换项目、手动查看门禁状态,流程割裂且容易遗漏。SonarQube 门禁检查器将这一过程嵌入到本地工作流中,让你在提交合并前就能直接获知门禁结果。
核心能力
- 门禁状态查询:调用 SonarQube Web API 的
/api/qualitygates/project_status接口,获取指定项目的门禁判定结果。 - 质量维度覆盖:报告代码异味数量、覆盖率是否达到阈值、代码重复率等关键指标,对应 SonarQube 质量配置文件中的规则。
- 合并前拦截:在 PR 流程中自动执行,门禁未通过时阻止合并,避免劣质代码进入主干。
关键步骤
- 配置 SonarQube 服务器地址与访问令牌。
- 指定目标项目的 key 或组件标识。
- 调用 API 获取门禁状态,解析返回的状态码与各项指标。
- 根据质量配置文件中的阈值判断是否通过。
适用边界与注意点
- 需要本地已安装 Native Git 并在
PATH中可用。 - 构建项目需要 Java 17 和
npm。 - 如需跳过测试以加快构建,可在 Gradle 命令中添加
-x test。 - 门禁判断依赖于 SonarQube 服务器上的质量配置文件,规则变更需同步更新。
- 不适用于未配置 SonarQube 项目的仓库。
使用场景
- 准备合并功能分支到主干时,需要提前确认 SonarQube 门禁是否通过,避免合入低质量代码。
- 团队设置了质量门禁阈值,提交 PR 前需要获取覆盖率、重复率和代码异味的判定结果。
- 本地修复缺陷后,需要重新查询 SonarQube 项目状态,确认门禁条件是否已满足。
- CI 流水线缺少门禁步骤时,需要在合并请求前手动调用 API 获取质量门禁报告并拦截失败项。
适合人员
- 后端工程师:需要在合并代码前验证 SonarQube 门禁结果,防止主干质量下降。
- 全栈开发者:PR 涉及覆盖率和重复率变化,需要在本地快速获取门禁判定。
- DevOps 工程师:需要将质量门禁检查嵌入 CI/CD 流程,自动拦截不达标代码。
- 技术负责人:希望在代码评审前拿到客观的门禁报告,辅助合并决策。