Claude CodeをGitHub Actionsで動かす方法|CI/CD自動化
Claude CodeはローカルのCLIだけでなく、GitHub Actionsに組み込むことでPRレビューやIssueへの実装対応をCI上で自動化できます。この記事では公式のclaude-code-actionを使ったセットアップ手順から、ワークフローYAMLの実例、料金・セキュリティ上の注意点までを解説します。
前提・動作環境
Claude Code GitHub Actionsを使うには、以下が必要です。
- 対象リポジトリの管理者(admin)権限(GitHub Appのインストールとシークレット登録に必要)
- Claude APIキー(Anthropic Consoleで発行。取得方法はClaude CodeをAPIキーで従量課金利用する方法を参照)
/install-github-appコマンドを使う場合はローカルで実行できるClaude Code CLI- GitHub Actionsが有効なリポジトリ
Claude Code GitHub Actionsはanthropics/claude-code-actionというGitHub Actionとして提供されており、PRやIssueのコメントで@claudeとメンションするだけでコード分析・実装・PR作成までを自動で行ってくれます。
セットアップ手順
セットアップには「クイックセットアップ」と「手動セットアップ」の2通りがあります。
クイックセットアップ(/install-github-appコマンド)
Claude Codeのターミナルで以下のコマンドを実行すると、対話形式でセットアップが進みます。
/install-github-app
このコマンドは、GitHub Appのインストールとワークフロー・APIキーシークレットの追加までをまとめて案内してくれます。そのまま進めれば、ワークフローファイルとシークレットが自動で設定されます。
この方法はリポジトリのadmin権限を持つユーザーでなければ実行できません。
手動セットアップ
/install-github-appが使えない場合や、より細かく制御したい場合は以下の手順で行います。
- https://github.com/apps/claude からClaude GitHub Appをリポジトリにインストールする(Contents・Issues・Pull requestsへの読み書き権限が付与されます)
- リポジトリの Settings → Secrets and variables → Actions で
ANTHROPIC_API_KEYという名前のシークレットを追加する - examples/claude.yml を参考に、
.github/workflows/配下にワークフローファイルを配置する
完了したら、IssueやPRのコメントで@claudeとメンションして動作確認しましょう。
ワークフローYAMLの実例
もっとも基本的な構成は、IssueやPRコメントへの@claudeメンションに反応するワークフローです。
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
# コメント中の @claude メンションに応答する
PRが作成・更新されるたびに自動レビューを走らせたい場合は、トリガーをpull_requestイベントにし、promptで「このPRの差分をレビューしてください」のように指示を明示すれば実現できます。
claude_argsにはClaude CodeのCLIオプションをそのまま渡せます。--max-turnsで会話ターン数の上限を、--modelで使用モデルを指定できるため、暴走を防ぎたい場合は必ず--max-turnsを設定しておくとよいでしょう。
使い方の実例
PRコメントで修正を依頼する
PRのコメント欄に以下のように書き込むと、Claudeがコードを分析して対応します。
@claude ユーザーダッシュボードコンポーネントのTypeErrorを修正してください
Claudeはコメントの文脈とリポジトリのコードを読み取り、修正内容をコミットまたは提案として反映します。ブランチ作成やコミットもClaude Codeが自動で行うため、Claude CodeでのGit操作自動化もあわせて確認しておくと理解が深まります。
Issueから実装を依頼する
Issueの説明文や本文中に@claudeを含めておくと、Issueをトリガーに実装を開始させることもできます。
@claude issueの説明に基づいてこの機能を実装してください
ClaudeはCLAUDE.mdに書かれたコーディング規約を踏まえて実装を進めるため、リポジトリルートにCLAUDE.mdを用意しておくと出力の質が安定します。Claude Codeの基本的な操作についてはClaude Codeの使い方完全ガイドでも解説しています。
料金・実行環境の注意
Claude Code GitHub Actionsには2種類のコストが発生します。
- GitHub Actionsの実行時間: GitHub提供のランナー上で動作するため、実行時間(分単位)を消費します。無料枠を超えると課金対象になります。
- Claude APIのトークン従量課金: プロンプトや応答の長さに応じてAPIトークンが消費され、タスクの複雑さやリポジトリの規模で変動します。
料金は変動する可能性があるため、最新の金額は必ずAnthropicとGitHubの公式サイトで確認してください。コストを抑えるには、--max-turnsで会話ターン数の上限を設ける、ワークフローにタイムアウトを設定する、GitHubの同時実行制御(concurrency)で並列実行を制限する、といった方法が有効です。
つまずきポイント/よくあるエラー
@claudeとメンションしても反応しない: GitHub Appが正しくインストールされているか、ワークフローが有効化されているか、ANTHROPIC_API_KEYがシークレットに設定されているかを確認してください。コメントは/claudeではなく@claudeと書く必要があります。- ClaudeのコミットでCIが起動しない: GitHub App経由でコミットしているか(Actionsユーザー名義になっていないか)を確認し、トリガーにCIをキックすべきイベントが含まれているかを見直してください。
- 認証エラーが出る: APIキーが有効か、シークレット名が
ANTHROPIC_API_KEYと一致しているかを確認します。
よくある質問
無料で使えますか
GitHub Actionsの実行自体は無料枠がありますが、Claude APIの利用にはトークン従量課金が発生します。料金体系は変更される可能性があるため、公式サイトで最新情報を確認してください。
@claude以外のトリガーフレーズに変更できますか
可能です。trigger_phraseパラメータでカスタムのトリガーフレーズを指定できます。
実行のたびにコンテキストは読み直されますか
はい。各実行はGitHub Actionsの新しいジョブとして起動するため、Claudeはリポジトリをチェックアウトし直し、都度コンテキストを読み込んで応答します。
まとめ
Claude Code GitHub Actionsを使えば、@claudeメンション一つでPRレビューやIssueからの実装をCI上で自動化できます。セットアップは/install-github-appコマンドか手動設定で完結し、ワークフローYAMLにanthropic_api_keyと必要なclaude_argsを指定するだけで運用を始められます。GitHub Actionsの実行時間とClaude APIのトークン課金という2種類のコストが発生する点、そしてシークレットの取り扱いには十分注意しましょう。より基本的な使い方はClaude Codeの使い方完全ガイド、Git操作の自動化はClaude CodeでのGit操作自動化、APIキーの発行や従量課金の詳細はClaude CodeをAPIキーで従量課金利用する方法もあわせてご覧ください。