Claude Code GitHub Actions
Claude Code GitHub ActionsでClaude Codeを開発ワークフローに統合する方法を学ぶ
Claude Code GitHub ActionsはAI駆動の自動化をGitHubワークフローにもたらします。任意のPRやissueで簡単に@claude
とメンションするだけで、Claudeがコードを分析し、プルリクエストを作成し、機能を実装し、バグを修正します - すべてプロジェクトの標準に従いながら。
Claude Code GitHub Actionsは現在ベータ版です。エクスペリエンスを改善する過程で、機能や動作が変更される可能性があります。
Claude Code GitHub ActionsはClaude Code SDKの上に構築されており、Claude Codeをアプリケーションにプログラム的に統合することを可能にします。SDKを使用して、GitHub Actions以外のカスタム自動化ワークフローを構築できます。
Claude Code GitHub Actionsを使用する理由
- 即座のPR作成: 必要なものを説明すると、Claudeが必要なすべての変更を含む完全なPRを作成します
- 自動化されたコード実装: 単一のコマンドでissueを動作するコードに変換します
- 標準に従う: Claudeは
CLAUDE.md
ガイドラインと既存のコードパターンを尊重します - 簡単なセットアップ: インストーラーとAPIキーで数分で開始できます
- デフォルトで安全: コードはGithubのランナー上に留まります
Claudeができること
Claude CodeはコードとのやりとりのやりかたをTransformする強力なGitHub Actionsを提供します:
Claude Code Action
このGitHub ActionはGitHub Actionsワークフロー内でClaude Codeを実行することを可能にします。これを使用してClaude Codeの上にカスタムワークフローを構築できます。
Claude Code Action (Base)
ClaudeでカスタムGitHubワークフローを構築するための基盤。この拡張可能なフレームワークは、カスタマイズされた自動化を作成するためのClaudeの機能への完全なアクセスを提供します。
セットアップ
クイックセットアップ
このアクションをセットアップする最も簡単な方法は、ターミナルでClaude Codeを使用することです。claudeを開いて/install-github-app
を実行するだけです。
このコマンドはGitHubアプリと必要なシークレットのセットアップをガイドします。
- GitHubアプリをインストールしてシークレットを追加するには、リポジトリ管理者である必要があります
- このクイックスタート方法は、直接のAnthropic APIユーザーのみが利用できます。AWS BedrockやGoogle Vertex AIを使用している場合は、AWS Bedrock & Google Vertex AIでの使用セクションをご覧ください。
手動セットアップ
/install-github-app
コマンドが失敗した場合や手動セットアップを希望する場合は、以下の手動セットアップ手順に従ってください:
- Claude GitHubアプリをインストールしてリポジトリに追加: https://github.com/apps/claude
- ANTHROPIC_API_KEYをリポジトリシークレットに追加 (GitHub Actionsでシークレットを使用する方法を学ぶ)
- ワークフローファイルをコピー examples/claude.ymlからリポジトリの
.github/workflows/
に
クイックスタートまたは手動セットアップのいずれかを完了した後、issueやPRコメントで@claude
をタグ付けしてアクションをテストしてください!
使用例
Claude Code GitHub Actionsは様々なタスクでお手伝いできます。完全な動作例については、examplesディレクトリをご覧ください。
issueをPRに変換
issueコメントで:
Claudeがissueを分析し、コードを書き、レビュー用のPRを作成します。
実装のヘルプを得る
PRコメントで:
Claudeがコードを分析し、具体的な実装ガイダンスを提供します。
バグを素早く修正
issueで:
Claudeがバグを特定し、修正を実装し、PRを作成します。
ベストプラクティス
CLAUDE.md設定
リポジトリルートにCLAUDE.md
ファイルを作成して、コードスタイルガイドライン、レビュー基準、プロジェクト固有のルール、推奨パターンを定義します。このファイルはClaudeのプロジェクト標準の理解をガイドします。
セキュリティ考慮事項
APIキーを直接リポジトリにコミットしないでください!
APIキーには常にGitHub Secretsを使用してください:
- APIキーを
ANTHROPIC_API_KEY
という名前のリポジトリシークレットとして追加 - ワークフローで参照:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
- アクションの権限を必要最小限に制限
- マージ前にClaudeの提案をレビュー
ワークフローファイルに直接APIキーをハードコーディングするのではなく、常にGitHub Secrets(例:${{ secrets.ANTHROPIC_API_KEY }}
)を使用してください。
パフォーマンスの最適化
コンテキストを提供するためにissueテンプレートを使用し、CLAUDE.md
を簡潔で焦点を絞ったものに保ち、ワークフローに適切なタイムアウトを設定します。
CIコスト
Claude Code GitHub Actionsを使用する際は、関連するコストに注意してください:
GitHub Actionsコスト:
- Claude CodeはGitHubホストランナーで実行され、GitHub Actionsの分数を消費します
- 詳細な価格設定と分数制限については、GitHubの課金ドキュメントをご覧ください
APIコスト:
- 各Claudeのやりとりは、プロンプトとレスポンスの長さに基づいてAPIトークンを消費します
- トークン使用量はタスクの複雑さとコードベースのサイズによって異なります
- 現在のトークンレートについては、Claudeの価格ページをご覧ください
コスト最適化のヒント:
- 不要なAPI呼び出しを減らすために具体的な
@claude
コマンドを使用 - 過度な反復を防ぐために適切な
max_turns
制限を設定 - 暴走ワークフローを避けるために合理的な
timeout_minutes
を設定 - 並列実行を制限するためにGitHubの同時実行制御の使用を検討
設定例
以下を含む異なる使用例のためのすぐに使用できるワークフロー設定については:
- issueとPRコメントのための基本的なワークフローセットアップ
- プルリクエストでの自動化されたコードレビュー
- 特定のニーズのためのカスタム実装
Claude Code Actionリポジトリのexamplesディレクトリをご覧ください。
examplesリポジトリには、.github/workflows/
ディレクトリに直接コピーできる完全でテスト済みのワークフローが含まれています。
AWS Bedrock & Google Vertex AIでの使用
エンタープライズ環境では、独自のクラウドインフラストラクチャでClaude Code GitHub Actionsを使用できます。このアプローチにより、同じ機能を維持しながら、データ居住性と課金を制御できます。
前提条件
クラウドプロバイダーでClaude Code GitHub Actionsをセットアップする前に、以下が必要です:
Google Cloud Vertex AIの場合:
- Vertex AIが有効になっているGoogle Cloudプロジェクト
- GitHub Actions用に設定されたWorkload Identity Federation
- 必要な権限を持つサービスアカウント
- GitHubアプリ(推奨)またはデフォルトのGITHUB_TOKENを使用
AWS Bedrockの場合:
- Amazon Bedrockが有効になっているAWSアカウント
- AWSで設定されたGitHub OIDCアイデンティティプロバイダー
- Bedrock権限を持つIAMロール
- GitHubアプリ(推奨)またはデフォルトのGITHUB_TOKENを使用
カスタムGitHubアプリを作成(3Pプロバイダーに推奨)
Vertex AIやBedrockなどの3Pプロバイダーを使用する際の最適な制御とセキュリティのために、独自のGitHubアプリを作成することをお勧めします:
- https://github.com/settings/apps/new にアクセス
- 基本情報を入力:
- GitHub App name: 一意の名前を選択(例:「YourOrg Claude Assistant」)
- Homepage URL: 組織のウェブサイトまたはリポジトリURL
- アプリ設定を構成:
- Webhooks: 「Active」のチェックを外す(この統合には不要)
- 必要な権限を設定:
- Repository permissions:
- Contents: Read & Write
- Issues: Read & Write
- Pull requests: Read & Write
- Repository permissions:
- 「Create GitHub App」をクリック
- 作成後、「Generate a private key」をクリックしてダウンロードした
.pem
ファイルを保存 - アプリ設定ページからApp IDをメモ
- アプリをリポジトリにインストール:
- アプリの設定ページから、左サイドバーの「Install App」をクリック
- アカウントまたは組織を選択
- 「Only select repositories」を選択し、特定のリポジトリを選択
- 「Install」をクリック
- 秘密鍵をリポジトリのシークレットとして追加:
- リポジトリのSettings → Secrets and variables → Actionsに移動
.pem
ファイルの内容でAPP_PRIVATE_KEY
という名前の新しいシークレットを作成
- App IDをシークレットとして追加:
- GitHubアプリのIDで
APP_ID
という名前の新しいシークレットを作成
このアプリはactions/create-github-app-tokenアクションと一緒に使用して、ワークフローで認証トークンを生成します。
Anthropic APIの代替または独自のGithubアプリをセットアップしたくない場合: 公式のAnthropicアプリを使用:
- https://github.com/apps/claude からインストール
- 認証のための追加設定は不要
クラウドプロバイダー認証を設定
クラウドプロバイダーを選択し、安全な認証をセットアップ:
必要なシークレットを追加
リポジトリに以下のシークレットを追加(Settings → Secrets and variables → Actions):
Anthropic API(直接)の場合:
-
API認証用:
ANTHROPIC_API_KEY
: console.anthropic.comからのAnthropic APIキー
-
GitHubアプリ用(独自のアプリを使用する場合):
APP_ID
: GitHubアプリのIDAPP_PRIVATE_KEY
: 秘密鍵(.pem)の内容
Google Cloud Vertex AIの場合
-
GCP認証用:
GCP_WORKLOAD_IDENTITY_PROVIDER
GCP_SERVICE_ACCOUNT
-
GitHubアプリ用(独自のアプリを使用する場合):
APP_ID
: GitHubアプリのIDAPP_PRIVATE_KEY
: 秘密鍵(.pem)の内容
AWS Bedrockの場合
-
AWS認証用:
AWS_ROLE_TO_ASSUME
-
GitHubアプリ用(独自のアプリを使用する場合):
APP_ID
: GitHubアプリのIDAPP_PRIVATE_KEY
: 秘密鍵(.pem)の内容
ワークフローファイルを作成
クラウドプロバイダーと統合するGitHub Actionsワークフローファイルを作成します。以下の例は、AWS BedrockとGoogle Vertex AIの両方の完全な設定を示しています:
トラブルシューティング
Claudeが@claudeコマンドに応答しない
GitHubアプリが正しくインストールされていることを確認し、ワークフローが有効になっていることをチェックし、APIキーがリポジトリシークレットに設定されていることを確認し、コメントに@claude
が含まれていることを確認してください(/claude
ではありません)。
ClaudeのコミットでCIが実行されない
GitHubアプリまたはカスタムアプリを使用していることを確認し(Actionsユーザーではない)、ワークフロートリガーに必要なイベントが含まれていることをチェックし、アプリ権限にCIトリガーが含まれていることを確認してください。
認証エラー
APIキーが有効で十分な権限を持っていることを確認してください。Bedrock/Vertexの場合、資格情報設定をチェックし、ワークフローでシークレットが正しく命名されていることを確認してください。
高度な設定
アクションパラメータ
Claude Code Actionは以下の主要なパラメータをサポートします:
パラメータ | 説明 | 必須 |
---|---|---|
prompt | Claudeに送信するプロンプト | はい* |
prompt_file | プロンプトを含むファイルのパス | はい* |
anthropic_api_key | Anthropic APIキー | はい** |
max_turns | 最大会話ターン数 | いいえ |
timeout_minutes | 実行タイムアウト | いいえ |
*prompt
またはprompt_file
のいずれかが必要
**直接Anthropic APIには必要、Bedrock/Vertexには不要
代替統合方法
/install-github-app
コマンドが推奨アプローチですが、以下も可能です:
- カスタムGitHubアプリ: ブランド化されたユーザー名やカスタム認証フローが必要な組織向け。必要な権限(contents、issues、pull requests)を持つ独自のGitHubアプリを作成し、actions/create-github-app-tokenアクションを使用してワークフローでトークンを生成します。
- 手動GitHub Actions: 最大限の柔軟性のための直接ワークフロー設定
- MCP設定: Model Context Protocolサーバーの動的読み込み
詳細なドキュメントについては、Claude Code Actionリポジトリをご覧ください。
Claudeの動作をカスタマイズ
Claudeの動作を2つの方法で設定できます:
- CLAUDE.md: リポジトリのルートにある
CLAUDE.md
ファイルでコーディング標準、レビュー基準、プロジェクト固有のルールを定義します。ClaudeはPRを作成しリクエストに応答する際にこれらのガイドラインに従います。詳細については、メモリドキュメントをご覧ください。 - カスタムプロンプト: ワークフローファイルの
prompt
パラメータを使用してワークフロー固有の指示を提供します。これにより、異なるワークフローやタスクに対してClaudeの動作をカスタマイズできます。
ClaudeはPRを作成しリクエストに応答する際にこれらのガイドラインに従います。