PR作成のたびに自動でコードレビュー・テスト生成・結果コメント投稿。Claude CodeをGitHub Actionsに組み込むworkflow.ymlの設定例付きで構築手順を解説します。コストを抑えながら実務に使えるパイプラインを一歩一歩作っていきましょう。
Claude Code × CI/CDの全体像

Claude Codeをワークフローに組み込む意義
開発チームの日常にはコードレビュー、テスト作成、ドキュメント更新など、繰り返し発生する作業が山積みです。これらを手作業で行うと、どうしても品質にムラが生まれたり、レビューの時間が後回しになったりしがちです。
Claude CodeをGitHub Actionsに組み込むことで、PRが作成された瞬間にAIがコードを解析してレビューコメントを投稿し、テストを生成し、PR概要を自動で記述してくれます。開発者はフィードバックを待つ時間を大幅に削減でき、本質的な開発作業に集中できるようになります。出典: code.claude.com
claude-code-actionとは何か
claude-code-actionは、AnthropicがGitHub Marketplace向けに公開している公式のGitHub Actionsです。GitHub上のPRやIssueのイベントをトリガーとして、Claude Codeを呼び出し、コードレビューや実装補助、テスト生成などを行います。
リポジトリに.github/workflows/以下にYAMLファイルを1つ追加するだけで動き始め、@claudeとメンションするだけで対話的な指示も出せます。出典: github.com
どんなことが自動化できるか(PRレビュー・テスト生成・コメント投稿)
claude-code-actionで自動化できる主な作業は以下の通りです。
- PRのコードレビューと改善提案
- テストケースの自動生成
- PR概要・コミットメッセージの自動記述
- Issueのトリアージとラベル付け
- セキュリティスキャンと脆弱性報告
- 依存関係の更新チェック
- ドキュメントの自動更新
すべてGitHub上のイベント(PR作成、コメント、Issue登録など)をトリガーにして動くため、チームのワークフローを壊すことなく導入できます。出典: claudelab.net
GitHub Actionsワークフローの基本設計
必要なもの(GitHub App・APIキー・リポジトリ設定)
セットアップに必要なものは3点です。
- Claude GitHub App: AnthropicのGitHub Appをリポジトリにインストールする
- ANTHROPIC_API_KEY: AnthropicコンソールでAPIキーを発行し、GitHubリポジトリのSecretsに登録する
- workflow YAML:
.github/workflows/以下にActionの設定ファイルを配置する
なお、Actionが必要とするGitHub Permissionsは最小限です。Contents・Issues・Pull Requestsの読み書き権限のみで動作します。出典: code.claude.com
セットアップの3ステップ(/install-github-appまたは手動)
最も簡単なセットアップ方法は、ターミナルでClaude Codeを開き、/install-github-appコマンドを実行することです。このコマンドが、GitHub Appのインストールからシークレットの設定、workflow YAMLの配置まで一括で行ってくれます。
手動でセットアップする場合は以下の手順です。
- Claude GitHub Appをリポジトリにインストールする
ANTHROPIC_API_KEYをGitHub Repository Secretsに追加する- 以下のworkflow YAMLを
.github/workflows/claude.ymlとして配置する
最初のworkflow.ymlを書く
基本的なworkflow.ymlは以下のようになります。
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
issue_comment:
types: [created]
jobs:
claude-review:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
pull-requests: write
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
これだけでPR作成時に自動レビューが走り、コメントが投稿されるようになります。出典: morphllm.com
workflow.ymlの設定例(PRレビュー自動化)
PRオープン時にレビューコメントを投稿する
PRが新たに作成された(opened)タイミングだけでレビューを走らせる設定例です。synchronize(コミット追加時)を除くことで、APIコールを半分以下に抑えられます。
on:
pull_request:
types: [opened] # openedのみ(synchronizeを除外)
jobs:
claude-review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
claude_args: "--max-turns 3"
prompt: |
このPRのコードをレビューしてください。
以下の観点でチェックしてください:
1. バグや潜在的なエラー
2. コーディング規約の遵守
3. テストの不足
4. セキュリティ上の問題
日本語でコメントしてください。
@claudeメンションで対話的に指示する
PRやIssueのコメントで@claudeとメンションすると、Claudeが呼び出されて対話的に作業を行います。たとえば:
@claude このファイルのテストを書いてください@claude このバグを修正してPRを出してください@claude このIssueを解決する実装方針を提案してください
対話的メンションを受け付けるには、issue_commentイベントもトリガーに含める必要があります。出典: systemprompt.io
イベントフィルタリングで無駄なトリガーを減らす
pathsやpaths-ignoreを使って、AIレビューが不要なファイルへの変更ではワークフローをスキップできます。
on:
pull_request:
types: [opened]
paths-ignore:
- '**.md' # ドキュメント変更はスキップ
- '.github/**' # CI設定変更はスキップ
- 'package-lock.json' # 依存ロックファイルはスキップ
ドキュメント更新やCI設定の変更、依存関係のバンプなどはClaude Codeの解析が不要なケースがほとんどです。このフィルタリングだけで月間のAPI使用量を大幅に削減できます。
テスト生成の自動化パイプライン
PRに対してテストを自動生成させる
テスト生成を専用のワークフローとして切り出す例です。Claudeにテストファイルを生成させ、そのままPRにコミットする構成です。
name: Auto Test Generation
on:
pull_request:
types: [opened]
paths:
- 'src/**/*.py' # Pythonファイルが変更されたときのみ
jobs:
generate-tests:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
claude_args: "--max-turns 5"
prompt: |
このPRで変更されたPythonファイルに対して、
pytestのテストケースを生成してください。
テストファイルはtests/ディレクトリに配置し、
変更をコミットしてください。
このアプローチにより、テストカバレッジを自動的に向上させながらレビュー工数を削減できます。出典: claudelab.net
テスト結果をコメントで報告させる
テスト実行後の結果をClaudeが解析してPRコメントに要約させることもできます。テスト失敗の原因分析と修正提案をセットで出力させると、開発者の負担をさらに軽減できます。
- name: Run tests
run: pytest tests/ --json-report --json-report-file=test-results.json
continue-on-error: true
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
prompt: |
test-results.jsonを読み込んで、テスト結果を日本語でまとめてください。
失敗したテストがある場合は原因分析と修正提案も含めてください。
ドキュメント・PR概要の自動生成
PRの変更内容を分析して、PR概要(Description)を自動で記述させることも可能です。「何を変更したか」「なぜ変更したか」「どうテストしたか」の3点を含むテンプレートに沿って生成させると、レビュアーが素早く変更を把握できるようになります。
セキュリティとAPIキーの管理

GitHub Secretsへの保存方法
APIキーは必ずGitHub Secretsに保存し、ワークフローファイル内に直接記述しないことが鉄則です。設定方法は以下の通りです。
- GitHubリポジトリの「Settings」→「Secrets and variables」→「Actions」を開く
- 「New repository secret」をクリック
- Name:
ANTHROPIC_API_KEY、Value: 発行したAPIキーを入力して保存 - ワークフローから
${{ secrets.ANTHROPIC_API_KEY }}として参照する
APIキーの誤ったコミットは最も多いセキュリティ事故の一つです。出典: support.claude.com
最小権限の原則(Contents・Issues・Pull Requests)
ワークフローのpermissionsブロックには、必要最小限の権限のみを付与してください。claude-code-actionが必要とするのは以下の3つだけです。
permissions:
contents: read # コードの読み取り
issues: write # Issueへのコメント投稿
pull-requests: write # PRへのコメント投稿・変更
テストをコミットさせる場合のみcontents: writeに変更が必要ですが、それ以外ではreadで十分です。出典: github.com
show_full_outputとシークレットリークのリスク
show_full_outputオプションはデフォルトで無効になっています。これを有効にすると、Claudeのすべての出力(ツール実行結果・APIレスポンス)がGitHub Actionsのログに記録されます。パブリックリポジトリでは、このログが公開されるためシークレット情報が漏洩するリスクがあります。
特に理由がない限りshow_full_outputは有効にしないことを強くおすすめします。
Gitleaks / GitHub Secret Scanningの活用
誤ってAPIキーをコミットしてしまうリスクを減らすため、以下のツールを導入しましょう。
- Gitleaks: リポジトリ内のシークレットをスキャンするSASTツール。CI/CDに組み込んでプッシュ前に検出できます。
- GitHub Secret Scanning: GitHubが自動でパブリックリポジトリをスキャンし、露出したAPIキーを検出する機能。AnthropicはGitHubのシークレットスキャンパートナーとして登録されており、露出が検出されると即座にキーが無効化されます。
出典: github.com
コスト最適化とレート制限への対応
トリガーイベントの絞り込み(opened のみ、paths-ignore)
コスト最適化の最も効果的な手段は、不要なトリガーを減らすことです。
types: [opened]のみに限定することで、追加コミットのたびに走るsynchronizeイベントを除外できます。paths-ignoreでドキュメント・CI設定・依存ロックファイルを対象外にすることで、不要なAPI呼び出しを防げます。
シンプルなPRレビュー1回あたりのAPI使用量は5,000〜15,000トークン程度です。月50PRのチームで総APIコストは$5以下に収まることが多いです。出典: dev.to
–max-turnsとモデル選択でコストをコントロール
claude_argsに--max-turnsを指定することで、1回のワークフロー実行でのClaude Codeのターン数(反復回数)を制限できます。
with:
claude_args: "--max-turns 3" # 最大3ターンで打ち切り
また、タスクの複雑さに応じてモデルを選択することも重要です。フォーマットチェックや軽微なレビューには安価・高速なモデル、アーキテクチャレビューには高性能モデルと使い分けることで、コストを10〜60倍の範囲でコントロールできます。出典: dev.to
Batch API・Prompt Cachingの活用(最大90%削減)
Anthropic APIには、コストをさらに削減できる2つの機能があります。
- Batch API: 緊急性の低いタスク(夜間のバッチ処理など)に使用。通常料金の50%で実行できます。
- Prompt Caching: 繰り返し送るコンテキスト(CLAUDE.mdの内容やシステムプロンプトなど)をキャッシュする機能。キャッシュヒット時は最大90%のコスト削減が可能です。
特にPrompt Cachingは、毎回同じCLAUDE.mdやプロジェクト規約を送るCI/CDワークフローと相性が良く、導入効果が高いです。
コンカレンシー制御でレート制限を回避する
複数のPRが同時にオープンされると、Anthropic APIのレート制限に引っかかることがあります。GitHub ActionsのConcurrencyグループを使うと、同じワークフローが同時に複数起動しないよう制御できます。
concurrency:
group: claude-review-${{ github.ref }}
cancel-in-progress: false # 実行中のジョブはキャンセルしない
より大規模なチームでは、AWS BedrockやGoogle Vertex AI経由でClaude APIをルーティングし、クラウドプロバイダーのレート制限・予算アラートと組み合わせる方法もあります。OIDC認証が使えるためAPIキーの静的管理も不要になります。出典: systemprompt.io
まとめ:Claude Code × GitHub Actionsで開発体験を変えよう
Claude CodeをGitHub Actionsに組み込むことで、コードレビュー・テスト生成・ドキュメント更新といった繰り返しタスクをAIに任せられるようになります。
この記事のポイントをまとめます。
anthropics/claude-code-actionを使えば、workflow.yml数十行で導入できます- APIキーはGitHub Secretsに保存し、ワークフローに直書きしないこと
- トリガーを
openedのみに絞り、paths-ignoreを活用してコストを最小化する --max-turnsとモデル選択でコストとパフォーマンスのバランスを調整する- Prompt Cachingで繰り返しコンテキストのコストを最大90%削減できる
まずは小さく始めて、PRレビューの自動化から導入してみてください。チームの開発体験が確実に変わります。
あわせて読みたいおすすめ書籍
引用・出典
- code.claude.com: Claude Code GitHub Actions – Claude Code Docs
- github.com: GitHub – anthropics/claude-code-action
- systemprompt.io: Claude Code GitHub Actions: 5 Copy-Paste Workflow Recipes for CI/CD
- morphllm.com: Claude Code GitHub Actions: Setup Guide & CI/CD Workflows (2026)
- github.com: claude-code-action セキュリティドキュメント
- support.claude.com: API Key Best Practices: Keeping Your Keys Safe and Secure
- dev.to: AI API Rate Limiting and Cost Management: Practical Patterns with Claude Code
- claudelab.net: Claude Code × GitHub Actions: Automate PR Reviews, Issue Handling, and Test Generation

コメント