PRを開くたびにClaudeが自動でコードレビューし、IssueにコメントするとClaudeが実装し、スケジュールでデイリーレポートを生成する——これらをすべてGitHub Actionsのワークフロー設定だけで実現できます。
2026年3月9日、Anthropicはanthropics/claude-code-action@v1を正式リリースしました。ベータ版の複雑な設定が大幅に簡素化され、YAMLファイルを1つ置くだけでClaude CodeをCI/CDパイプラインに組み込めます。この記事では公式アクションの全機能を実用的なYAML例つきで解説します。
Claude Code全般の使い方はClaude Code完全ガイドを、MCPサーバーとの組み合わせはClaude Code MCP完全ガイドを参照してください。
GitHub Actionsでできること
| 機能 | 概要 | トリガー |
|---|---|---|
| @claudeメンション対応 | PRやIssueのコメントで@claudeに話しかけると返答 | コメント作成 |
| PR自動レビュー | PR作成・更新時に自動でコードレビューコメントを投稿 | PR作成/更新 |
| Issue→実装 | Issueの内容を読んでブランチを作成・実装・PRを作成 | Issueへの割り当て |
| スケジュール実行 | 定期的にレポート生成・コード品質チェック等を実行 | cronスケジュール |
| ヘッドレス実行 | -pフラグでClaude CLIを非インタラクティブに実行 | 任意のイベント |
セットアップ方法
クイックセットアップ(推奨)
最も簡単なセットアップ方法は、Claude Codeのターミナルから/install-github-appを実行することです。GitHub Appのインストール・シークレットの設定・基本ワークフローの作成まで自動で行われます。
# Claude Codeのセッションで実行 > /install-github-app # 実行されること: # 1. https://github.com/apps/claude を開いてリポジトリを選択 # 2. ANTHROPIC_API_KEY をリポジトリシークレットに追加するよう案内 # 3. .github/workflows/claude.yml の雛形を作成
手動セットアップ
- https://github.com/apps/claude でGitHub Appをリポジトリにインストール
- GitHubリポジトリ → Settings → Secrets and variables → Actions →
ANTHROPIC_API_KEYを追加 .github/workflows/に以下のYAMLファイルを作成
@claudeメンション対応:PRやIssueで直接質問・依頼する
最も手軽な使い方です。PRレビューコメントやIssueのコメントで@claudeとメンションするだけで、Claude Codeが返答します。コードの説明を求める・実装方針を相談する・バグ修正を依頼するなど、チャット感覚で使えます。
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
# PRのコメントやIssueで @claude にメンション # コードの説明を求める @claude このコンポーネントが再レンダリングされすぎている原因を教えてください # 実装を依頼する @claude このIssueの内容を実装してください。実装後にPRを作成してください # バグ修正を依頼する @claude src/api/auth.ts の jwt検証でエラーが出ています。修正してください # レビューを依頼する @claude このPRをセキュリティ観点でレビューしてください
PR自動レビュー:PR作成時に自動でレビューコメントを投稿
PRが作成・更新されるたびに自動でレビューを行うワークフローです。2026年3月9日にGAリリースされたマルチエージェントPRレビュー機能により、セキュリティ・パフォーマンス・コード品質を並列でチェックできます。
name: PR Auto Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
このPull Requestをレビューしてください。
以下の観点で確認し、問題があればPRにレビューコメントを投稿してください:
1. セキュリティ(SQLインジェクション・XSS・認証バイパス・シークレットのハードコード)
2. パフォーマンス(N+1クエリ・不要なループ・メモリリーク)
3. コード品質(命名・単一責任・重複コード)
4. テストカバレッジ(新機能のテストが追加されているか)
問題がない場合は「LGTM ?」とコメントしてください。
claude_args: "--max-turns 5 --model claude-sonnet-4-6"
レビュー対象ファイルを絞る
name: Security Review
on:
pull_request:
paths:
- "src/api/**"
- "src/auth/**"
- "src/middleware/**"
jobs:
security-review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
API・認証・ミドルウェアに関連するファイルが変更されています。
セキュリティ観点のみで集中的にレビューし、
発見した問題を重大度(CRITICAL/MAJOR/MINOR)つきでコメントしてください。
claude_args: "--max-turns 3 --model claude-opus-4-6"
Issue→実装の自動化
Issueに特定のラベルをつけるか、Claudeを担当者にアサインすると自動でブランチを作成・実装・PRを作成するワークフローです。繰り返し性の高いタスク(バグ修正・小機能追加・ドキュメント更新等)に特に効果的です。
name: Issue to PR
on:
issues:
types: [assigned]
jobs:
implement:
runs-on: ubuntu-latest
# Claudeがアサインされたときのみ実行
if: github.event.assignee.login == "claude[bot]"
permissions:
contents: write
issues: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
GitHub Issue #${{ github.event.issue.number }} の内容を実装してください。
手順:
1. Issue の内容を詳しく確認する
2. 関連するコードを調査する
3. ブランチ名: feature/issue-${{ github.event.issue.number }} を作成
4. 実装を行う
5. テストを追加または更新する
6. Pull Requestを作成し、Issue を close するリンクを含める
不明な点があればIssueにコメントして確認してください。
claude_args: "--max-turns 20 --model claude-sonnet-4-6"
担当者を「claude[bot]」にアサインするだけで実装が始まります。実装中にClaudeがIssueへ進捗コメントを投稿するため、どこまで進んでいるかリアルタイムで確認できます。複雑すぎるタスクには
--max-turnsを増やすか、Issueをより細かく分割することを推奨します。スケジュール実行:定期タスクの自動化
デイリー開発レポートの自動生成
name: Daily Development Report
on:
schedule:
- cron: "0 9 * * 1-5" # 平日9時(UTC)
jobs:
report:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 50
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
昨日のgit logを確認して、以下の内容を含むデイリーレポートを
GitHub Issueとして作成してください(タイトル: Daily Report YYYY-MM-DD):
- 昨日マージされたPR一覧と変更サマリ
- 新しくオープンされたIssue
- 解決されたIssue
- 注目すべき変更点(破壊的変更・パフォーマンス影響等)
- 今日のTODO推奨(未解決の重要Issue・古いPR等)
claude_args: "--max-turns 5 --model claude-sonnet-4-6"
週次コード品質チェック
name: Weekly Code Quality Check
on:
schedule:
- cron: "0 8 * * 1" # 毎週月曜9時(UTC+1)
jobs:
quality:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/checkout@v4
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
プロジェクト全体のコード品質を分析してIssueを作成してください。
確認項目:
1. package.jsonの依存関係に古いバージョンや脆弱性がないか
2. TypeScriptのstrictモード違反が増えていないか
3. テストカバレッジが低いファイルがないか
4. TODO/FIXMEコメントが増えていないか
5. 大きすぎる関数・ファイルがないか(300行超)
問題があればIssueに報告してください(タイトル: Weekly Quality Report)
claude_args: "--max-turns 10 --model claude-sonnet-4-6"
ヘッドレス実行:-pフラグでCLIをパイプライン化する
GitHub Actionsではなく、シェルスクリプトやカスタムパイプラインでClaude CLIを非インタラクティブに実行したい場合は-p(または--print)フラグを使います。
# 基本的なヘッドレス実行 claude -p "このPRのコードをレビューして" --allowedTools "Read,Glob,Grep" # JSON形式で出力(プログラムから解析しやすい) claude -p "バグを探して" --output-format json # ストリーミング出力(リアルタイムで結果を受け取る) claude -p "大きなリファクタを実行して" --output-format stream-json --verbose # --bareフラグで起動オーバーヘッドを削減(CI/CD向け) claude --bare -p "コードを分析して" --allowedTools "Read,Glob"
| オプション | 説明 | 使い分け |
|---|---|---|
-p "プロンプト" |
非インタラクティブ実行 | CI/CDパイプライン全般 |
--output-format text |
プレーンテキスト出力(デフォルト) | 人が読む用途 |
--output-format json |
JSON形式で出力 | プログラムからの解析 |
--output-format stream-json |
リアルタイムJSONストリーム | 長時間タスクの進捗表示 |
--allowedTools "Read,Edit" |
使用ツールを制限 | CI環境でのセキュリティ確保 |
--max-turns N |
最大ターン数を制限 | コスト・実行時間の上限設定 |
--bare |
hooks・スキャン等をスキップ | CI/CDでの高速起動 |
--model claude-opus-4-6 |
モデルを指定 | 品質重視の処理はOpusで |
構造化出力の活用
# JSONスキーマで構造化された出力を取得
claude -p "auth.tsのセキュリティ問題を探して" \
--output-format json \
--json-schema '{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object","properties":{"severity":{"type":"string"},"line":{"type":"integer"},"description":{"type":"string"}}}}}}'
# 出力をjqで解析
claude -p "関数名を抽出して" --output-format json | jq .result
CLAUDE.mdでCI動作をカスタマイズする
リポジトリルートにCLAUDE.mdを置くと、GitHub Actions上で動くClaudeにもプロジェクト固有の指示が適用されます。コーディング規約・レビュー基準・禁止事項などを記述しておくことで、チームのスタンダードに沿った自動化が実現します。
# Project Guidelines for Claude Code ## コーディング規約 - TypeScript strict モードを遵守すること - 関数は100行以内に収めること - エラーハンドリングは必ずResult型またはtry/catchで行うこと ## PRレビュー基準 - セキュリティ問題(CRITICAL/MAJOR)は必ず指摘すること - パフォーマンス問題はコード例とともに提案すること - スタイルの指摘は最小限にすること(ESLintが自動修正するため) ## 禁止事項 - console.log を本番コードに残さないこと - any型を使わないこと(型定義を必ず追加する) - mainブランチへの直接pushは行わないこと ## テスト要件 - 新機能には必ずユニットテストを追加すること - テストカバレッジ80%以上を維持すること
AWS Bedrock・Google Vertex AI連携
Anthropic APIの代わりにAWS BedrockまたはGoogle Vertex AIを使うことで、静的なAPIキーなしにOIDC認証で安全に運用できます。企業のセキュリティポリシー上、Anthropic APIキーを使えない場合の代替手段です。
AWS Bedrock連携
name: Claude Code (AWS Bedrock)
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
id-token: write # OIDC認証に必要
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure AWS Credentials (OIDC)
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: us-west-2
- uses: anthropics/claude-code-action@v1
with:
use_bedrock: "true"
claude_args: "--model us.anthropic.claude-sonnet-4-6 --max-turns 5"
prompt: "このPRをレビューしてください"
Google Vertex AI連携
name: Claude Code (Vertex AI)
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
id-token: write
steps:
- uses: actions/checkout@v4
- name: Authenticate to Google Cloud
id: auth
uses: google-github-actions/auth@v2
with:
workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}
- uses: anthropics/claude-code-action@v1
with:
use_vertex: "true"
claude_args: "--model claude-sonnet-4@20250514 --max-turns 5"
prompt: "このPRをレビューしてください"
env:
ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}
CLOUD_ML_REGION: us-east5
セキュリティ設定
パーミッション設定の最小化
GitHub Actionsのパーミッションは必要最小限に設定してください。用途によって必要なパーミッションが変わります。
| 用途 | 必要なパーミッション |
|---|---|
| PRレビューのみ | contents: read, pull-requests: write |
| PRコメント + ファイル修正 | contents: write, pull-requests: write |
| Issue作成・コメント | issues: write |
| Bedrock/Vertex AI OIDC | 上記に加えid-token: write |
–allowedToolsで実行ツールを制限
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
# 読み取り専用操作のみ許可(コードを変更させない)
claude_args: "--allowedTools Read,Glob,Grep,WebSearch"
# または特定のbashコマンドのみ許可
# claude_args: "--allowedTools Bash(git diff *),Bash(git log *),Read"
ANTHROPIC_API_KEYはGitHubリポジトリのSecretsに登録し、${{ secrets.ANTHROPIC_API_KEY }}で参照してください。ワークフローファイルに直接書くとリポジトリを見られる人全員にキーが露出します。SecretsはSettings → Secrets and variables → Actionsで設定できます。まとめ
Claude Code GitHub Actionsを使うと、コードレビュー・Issue実装・定期レポートなど繰り返し発生する開発作業を自動化できます。まずは@claudeメンション対応のワークフロー1つだけ追加するところから始めましょう。セットアップは/install-github-appコマンドで5分以内に完了します。
慣れてきたらPR自動レビューを追加し、繰り返しタスクが多い場合はIssue→実装の自動化も試してみてください。チームの開発速度が大きく変わります。
ローカルでのClaude Code活用(Hooks・Subagents・MCP)はClaude Code完全ガイドで体系的に解説しています。
よくある質問
QGitHub Actions上でClaude Codeを動かすとAPIコストはどれくらいかかりますか?
APRレビュー1回あたりおよそ$0.01〜$0.10程度(コード量とモデルによる)です。Claude Sonnet 4.6は速度とコストのバランスが良く、通常のPRレビューに適しています。複雑な処理には--max-turnsで上限を設けてコストを制御できます。--model claude-haiku-4-5-20251001を使うとさらにコストを抑えられます。
Qプライベートリポジトリでも使えますか?
Aはい。GitHub Appをプライベートリポジトリにインストールすることで利用できます。コードはAnthropicのAPIに送信されますので、社内規定でAnthropicのAPI利用が許可されていることを確認してください。規定上問題がある場合はAWS Bedrock/Vertex AI経由での利用を検討してください。
Q@claudeメンションへの返答がありません。
AGitHub Appが正しくインストールされているか、ANTHROPIC_API_KEYがSecretsに設定されているかを確認してください。Actionsタブでワークフローの実行ログを確認すると原因が分かります。よくある原因: Appがリポジトリにインストールされていない・シークレット名のタイポ・YAMLのインデントエラーです。
QIssue→実装で「claude[bot]」をアサインするにはどうすればいいですか?
AGitHub Appをインストールすると「claude」というボットアカウントが追加されます。Issueの担当者欄でclaudeを選択してアサインします。権限がない場合はリポジトリのCollaboratorにclaudeを追加する必要があります。
Qワークフローが長時間かかってタイムアウトします。
AデフォルトのGitHub Actionsタイムアウトは6時間ですが、ジョブ設定で変更できます。また--max-turns Nで処理ターン数を制限することで実行時間を抑えられます。複雑なタスクはSubagentsで分割する設計も検討してください。
Qfork元のPRにも自動レビューを走らせることはできますか?
AforkからのPRはセキュリティ上の理由でSecrets(ANTHROPIC_API_KEY等)が使えません。pull_request_targetイベントを使うか、リポジトリメンテナーが手動で@claude reviewとメンションすることで対応できます。forkからのPRへの自動実行は慎重に設計することを推奨します。

