上級
GitHub Actions で Claude Code を CI/CD に組み込む
anthropics/claude-code-action を使って、PRレビュー、自動修正、テスト生成をCIパイプラインに組み込む方法
解決の目安約5分
最終確認
確認済みバージョン
Claude Code 2.1.220claude-code-action v1(入力仕様は要確認)
Claude Code
必須: Claude Code
ci-cdgithub-actionsautomation
症状・対象
PR レビューを自動化したいが、Secret、GitHub 権限、起動条件、成功判定が分散していて設定できないチームが対象です。ここでは同一リポジトリからの PR に限定した読み取り中心のレビューを作ります。
最短解決
- Claude Code で
/install-github-appを実行し、GitHub App と workflow の現行セットアップを生成する。 - リポジトリの Settings → Secrets and variables → Actions に
ANTHROPIC_API_KEYを登録する。値を YAML やログへ書かない。 - 生成された action の入力名を確認し、下の最小 workflow と差分があれば生成結果を優先する。
.github/workflows/claude-review.ymlを default branch に追加し、テスト PR を開く。
コピペ例
claude-code-action@v1 の入力仕様は同期資料だけでは確定できないため、/install-github-app の生成結果との照合が前提です。anthropic_api_key と github_token が生成結果に存在する場合の最小構成は次です。
name: Claude PR review
on:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
pull-requests: write
issues: write
concurrency:
group: claude-review-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
review:
if: github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Review pull request
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
prompt: |
Review this pull request.
Focus on correctness, security, and missing tests.
Do not modify files. Return actionable findings with file paths.
claude_args: "--max-turns 5"
初回は draft PR で、空のコミットを push して再実行できます。
git commit --allow-empty -m "test: run Claude PR review"
git push
期待結果
- Actions 画面に
Claude PR review / reviewの Check が作られる。 - job が成功し、PR にレビュー結果またはコメントが追加される。
- workflow ログに API キーの値が表示されない。
- fork からの PR では job が skip され、Secret が渡らない。
検証
- Actions の job summary で action の終了コードが
0であることを確認する。 - PR の Checks と Conversation を確認し、ファイルパス付きの結果があることを確認する。
- リポジトリ設定の workflow permissions が読み取り専用でも、workflow 内の明示権限で必要範囲だけ許可されていることを確認する。
- Secret 名を一時的に存在しない名前へ変えた検証 branch では job が失敗することを確認し、元へ戻す。
落とし穴
pull_request_targetで未信頼の PR コードを checkout すると Secret 流出につながります。この例では使いません。- fork PR には通常 Secret が渡りません。
ifを外して無理に動かさず、保守者が内容を確認して別 branch で実行します。 contents: writeはレビューだけなら不要です。自動修正を追加するときは別 workflow に分け、対象 branch と許可ツールを絞ります。@v1はメジャー参照です。組織ポリシーで SHA pin が必要なら、検証済み commit SHA に置き換えます。- コストと暴走を抑えるため
timeout-minutes、concurrency、--max-turnsを残します。
ロールバックは workflow を追加した commit の revert で行います。キーをログや commit に入れた可能性がある場合は、ファイル削除だけで済ませず API キーを失効・再発行してください。
次の一手
- -p フラグでワンショット実行を行う — headless 実行の入出力を理解する
- パーミッションモードを使い分ける — 自動修正を追加する前に権限境界を設計する
関連コンテンツ
ワークフロー
リリース
検証済みのコードを本番環境に届けるフェーズ。ブランチ戦略、コミット、PR作成、マージ、デプロイを安全かつ効率的に実行する手法を解説。
ワークフロー
検証
実装されたコードが正しく動作することを証明するフェーズ。単体テスト、統合テスト、E2Eテストを体系的に実行し、品質を数値化して保証する手法を解説。
コマンド
CLIコマンドパターン
Claude Codeの非対話的CLI使用パターン。パイプライン処理、CI/CD統合、設定管理を網羅。
Tips
カスタムスラッシュコマンドを作成する
.claude/commands/ に Markdown ファイルを置いて、よく使うプロンプトをコマンド化する方法