用途:针对指定 PR 拉取 SonarCloud 质量问题并生成结构化分析报告,核心原则是仅分析、不修改代码。
主要能力:检查 SONARQUBE_TOKEN 环境变量;调用 SonarCloud API 获取该 PR 的未解决问题(issueStatuses=OPEN,CONFIRMED,sinceLeakPeriod=true,ps 最大 500);按严重级别、类型、文件、规则分组;输出执行摘要、问题最多的 10 个文件、违规最多的 5 条规则,以及分优先级的行动方案(Blocker/Critical 立即修复,Major 在本 PR 处理,Minor/Info 后续跟进);结束后清理临时文件。
使用方式:先设置环境变量 export SONARQUBE_TOKEN="your_token_here",Token 从 SonarCloud → My Account → Security 生成。配置 SONAR_ORGANIZATION、SONAR_PROJECT_KEY、SONAR_BASE_URL。注意 zsh 下直接 curl -u "$SONARQUBE_TOKEN:" 认证解析会失败,需用 bash 脚本包装;示例命令为 /sonarqube 170,支持 PR 编号或 PR URL。
适用场景:PR 合并前的质量门禁检查、GitHub Actions 集成、pre-merge hook 等。
限制:仅分析不修复代码;依赖有效 Token 与正确项目 key;API 分页上限 500,超过会提示数据不完整;免费层每日 10,000 次请求;分析未完成时可能返回空结果,需等待约 2-5 分钟。