
Claude Code 如何用 claude ultrareview 做非交互式 PR 审查claude-howto 的 CI 门禁与 JSON 输出【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto如果你需要在 CI 里对 Pull Request 做自动化代码审查又不想在流水线中启动交互式会话Claude Code 提供了claude ultrareview [target]子命令它在非交互模式下运行/ultrareview云端多智能体代码审查把审查发现findings打印到 stdout并以退出码区分“审查干净”和“发现问题”。claude-howto 仓库在 CLI 参考 和 斜杠命令文档 中记录了这条命令的完整参数、退出码语义以及 GitHub Actions 中的用法本文按这些文档还原从本地验证到接入 CI 门禁的连续操作路径。版本要求与计费前提开始之前先确认两个前提两者都来自项目文档版本CLI 参考明确标注claude ultrareview需要 Claude Code v2.1.227 或更高版本。另外 CHANGELOG 记载该子命令最早在 v2.1.120 加入当时支持--json和--timeout minutes也就是说旧版本可能已有部分功能但当前文档给出的完整参数集含--post/--no-post以 v2.1.227 为准。两处记载不一致稳妥做法是按 v2.1.227 准备环境。计费斜杠命令文档说明/ultrareview在 Pro 和 Max 套餐中包含 3 次免费运行之后需要消耗 usage credits。CI 每次触发都会计一次运行接入前需要确认团队的额度来源。可以用claude -v输出检查当前安装版本。命令与参数命令形式为claude ultrareview [target]其中target是 PR 编号文档示例claude ultrareview 1234 --json --no-post。文档给出的参数如下参数作用--json输出原始 JSON payload供脚本或后续 CI 步骤消费--timeout minutes覆盖默认的 30 分钟超时--post审查完成后把 findings 发布回 PR--no-postfindings 只保留在 stdout不回写到 PR退出码语义这是 CI 门禁的基础0— 审查干净clean review1— 报告了 findings或运行失败文档原文描述它“is a drop-in PR gate”即退出码可以直接作为流水线步骤的成败判定。在本地先跑一次最小命令确认认证和目标 PR 可用claude ultrareview 1234stdout 会打印审查发现再观察退出码是否符合预期0 为干净1 为有发现。如果运行时间可能超过默认上限用--timeout minutes覆盖例如--timeout 45。接入 GitHub Actions 做 PR 门禁CLI 参考 的 CI/CD 章节给出了 headlessultrareview的 workflow 片段要求 v2.1.227# .github/workflows/ultrareview.yml - name: Claude ultrareview run: claude ultrareview ${{ github.event.pull_request.number }} --json --no-post review.json其中${{ github.event.pull_request.number }}是 GitHub Actions 的表达式由 runner 在执行时替换为当前 PR 编号写在 workflow 里原样保留即可。同一个文档的 GitHub Actions 示例还展示了 CI 环境需要的安装与认证步骤模式如下ANTHROPIC_API_KEY通过 secrets 注入- name: Install Claude Code run: npm install -g anthropic-ai/claude-code - name: Run Code Review env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} run: | claude -p --output-format json \ --max-turns 1 \ Review the changes in this PR for: - Security vulnerabilities - Performance issues - Code quality Output as JSON with issues array review.json注意第二段是文档中通用的claude -p审查示例这里只借用它展示的“安装 API key 注入”环境准备模式ultrareview门禁本身用上面ultrareview.yml片段中的命令即可。--no-post的选择依据文档说明--no-post把 findings 只留在 stdout适用于“后续 CI 步骤自行格式化报告”的场景。所以上面示例同时用了--json拿到机器可读的原始 payload和--no-post避免重复回写 PR再用 review.json落盘供后续步骤处理。如果你希望审查结果直接出现在 PR 上改用--post并去掉重定向。JSON 输出与结果验证文档对 JSON 输出的说明是--json产生 raw payload命令示例将其重定向到review.json。文档没有给出该 payload 的字段结构因此后续步骤如何解析它应以实际运行得到的 JSON 为准不要预设字段名。验证方式按文档给出的两条退出码步骤退出码为 0 表示该 PR 审查干净为 1 表示报告了 findings或运行失败。在 GitHub Actions 中步骤失败即 PR 检查变红这就是门禁的判定。产物文件使用--json --no-post review.json时检查流水线工件中是否生成review.json其内容即本次审查的原始 payload。与交互式审查的对应关系同一次审查在交互会话中的入口是/code-review ultra斜杠命令文档说明从 v2.1.223 起/code-review ultra是云端多智能体审查的推荐入口/ultrareview作为别名保留。对github.com的 PR 目标ultra下--post会预选把 findings 发布到 PR。也就是说本地交互会话里跑/code-review ultra与 CI 里跑claude ultrareview是同一审查能力的两种调用方式本文聚焦后者。边界与限制仅支持 v2.1.227完整参数集旧版本行为参见 CHANGELOG 中 v2.1.120 的记载。默认超时 30 分钟超时行为文档未进一步说明长审查请用--timeout minutes显式调大。Pro / Max 套餐含 3 次免费运行之后消耗 usage creditsCI 高频触发时注意额度。文档未说明 JSON payload 的字段结构解析逻辑需基于实际输出编写。参考资料CLI 参考、斜杠命令、CHANGELOG。【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考