@claudeと言及するだけで、Claudeはコードを分析し、プルリクエストを作成し、機能を実装し、バグを修正できます。すべてプロジェクトの標準に従いながら。
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は、コードの操作方法を変える強力なGitHub Actionを提供します:Claude Code Action
このGitHub Actionにより、GitHub Actionsワークフロー内でClaude Codeを実行できます。これを使用して、Claude Code上に任意のカスタムワークフローを構築できます。 リポジトリを表示 →セットアップ
クイックセットアップ
このアクションをセットアップする最も簡単な方法は、ターミナルのClaude Codeを使用することです。claudeを開いて/install-github-appを実行するだけです。
このコマンドは、GitHubアプリと必要なシークレットのセットアップをガイドします。
- GitHubアプリをインストールしてシークレットを追加するには、リポジトリ管理者である必要があります
- GitHubアプリは、Contents、Issues、およびPull requestsの読み取り&書き込み権限をリクエストします
- このクイックスタート方法は、直接Claude APIユーザーのみが利用できます。AWS BedrocまたはGoogle Vertex AIを使用している場合は、AWS Bedrock&Google Vertex AIで使用するセクションを参照してください。
手動セットアップ
/install-github-appコマンドが失敗した場合、または手動セットアップを希望する場合は、以下の手動セットアップ手順に従ってください:
-
Claude GitHubアプリをリポジトリにインストール: https://github.com/apps/claude
Claude GitHubアプリには、以下のリポジトリ権限が必要です:
- Contents: 読み取り&書き込み(リポジトリファイルを変更するため)
- Issues: 読み取り&書き込み(issueに応答するため)
- Pull requests: 読み取り&書き込み(PRを作成して変更をプッシュするため)
- ANTHROPIC_API_KEYをリポジトリシークレットに追加 (GitHub Actionsでシークレットを使用する方法を学ぶ)
-
ワークフローファイルをコピー examples/claude.ymlからリポジトリの
.github/workflows/へ
ベータ版からのアップグレード
現在Claude Code GitHub Actionsのベータ版を使用している場合は、ワークフローをGA版を使用するように更新することをお勧めします。新しいバージョンは、自動モード検出などの強力な新機能を追加しながら、設定を簡素化します。重要な変更
すべてのベータユーザーは、アップグレードするためにワークフローファイルに以下の変更を加える必要があります:- アクションバージョンを更新:
@betaを@v1に変更 - モード設定を削除:
mode: "tag"またはmode: "agent"を削除(現在は自動検出) - プロンプト入力を更新:
direct_promptをpromptに置き換え - CLIオプションを移動:
max_turns、model、custom_instructionsなどをclaude_argsに変換
破壊的な変更リファレンス
| 古いベータ入力 | 新しいv1.0入力 |
|---|---|
mode | (削除 - 自動検出) |
direct_prompt | prompt |
override_prompt | prompt(GitHubの変数付き) |
custom_instructions | claude_args: --system-prompt |
max_turns | claude_args: --max-turns |
model | claude_args: --model |
allowed_tools | claude_args: --allowedTools |
disallowed_tools | claude_args: --disallowedTools |
claude_env | settings JSON形式 |
ビフォー・アフター例
ベータ版:ユースケース例
Claude Code GitHub Actionsは、さまざまなタスクに役立ちます。examplesディレクトリには、異なるシナリオ用の使用可能なワークフローが含まれています。基本的なワークフロー
スラッシュコマンドの使用
プロンプトを使用したカスタム自動化
一般的なユースケース
issueまたはPRコメント内:ベストプラクティス
CLAUDE.md設定
リポジトリルートにCLAUDE.mdファイルを作成して、コードスタイルガイドライン、レビュー基準、プロジェクト固有のルール、および推奨パターンを定義します。このファイルは、Claudeのプロジェクト標準の理解をガイドします。
セキュリティに関する考慮事項
権限、認証、およびベストプラクティスを含む包括的なセキュリティガイダンスについては、Claude Code Actionセキュリティドキュメントを参照してください。 常にAPIキーにGitHub Secretsを使用してください:- APIキーを
ANTHROPIC_API_KEYという名前のリポジトリシークレットとして追加 - ワークフローで参照:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} - アクション権限を必要なものだけに制限
- マージ前にClaudeの提案を確認
${{ secrets.ANTHROPIC_API_KEY }})を使用してください。
パフォーマンスの最適化
issueテンプレートを使用してコンテキストを提供し、CLAUDE.mdを簡潔で焦点を絞ったものに保ち、ワークフローに適切なタイムアウトを設定します。
CI コスト
Claude Code GitHub Actionsを使用する場合、関連するコストに注意してください: GitHub Actionsコスト:- Claude Codeはgithub ホストランナーで実行され、GitHub Actionsの分を消費します
- 詳細な価格設定と分の制限については、GitHubの請求ドキュメントを参照してください
- 各Claude相互作用は、プロンプトと応答の長さに基づいてAPIトークンを消費します
- トークン使用量は、タスクの複雑さとコードベースのサイズによって異なります
- 現在のトークンレートについては、Claudeの価格ページを参照してください
- 特定の
@claudeコマンドを使用して、不要なAPI呼び出しを減らします claude_argsで適切な--max-turnsを設定して、過度な反復を防ぎます- ワークフローレベルのタイムアウトを設定して、暴走ジョブを回避します
- GitHubの同時実行制御を使用して、並列実行を制限することを検討してください
設定例
Claude Code Action v1は、統一されたパラメータで設定を簡素化します:- 統一されたプロンプトインターフェース - すべての指示に
promptを使用 - スラッシュコマンド -
/reviewや/fixなどの事前構築されたプロンプト - CLIパススルー -
claude_args経由のClaude Code CLIの任意の引数 - 柔軟なトリガー - 任意のGitHubイベントで動作
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を使用
1
カスタムGitHubアプリを作成(3Pプロバイダーに推奨)
Vertex AIやBedrockなどの3Pプロバイダーを使用する場合、最適な制御とセキュリティのために、独自のGitHubアプリを作成することをお勧めします:Claude APIの場合またはGithubアプリをセットアップしたくない場合の代替案: 公式Anthropicアプリを使用:
- 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ファイルを保存 - アプリ設定ページからアプリIDをメモ
- アプリをリポジトリにインストール:
- アプリの設定ページから、左側のサイドバーの「Install App」をクリック
- アカウントまたは組織を選択
- 「Only select repositories」を選択して特定のリポジトリを選択
- 「Install」をクリック
- プライベートキーをリポジトリシークレットとして追加:
- リポジトリの設定 → シークレットと変数 → アクションに移動
.pemファイルの内容を含むAPP_PRIVATE_KEYという名前の新しいシークレットを作成
- アプリIDをシークレットとして追加:
- GitHubアプリのIDを含む
APP_IDという名前の新しいシークレットを作成
このアプリは、actions/create-github-app-tokenアクションで使用され、ワークフロー内で認証トークンを生成します。
- https://github.com/apps/claudeからインストール
- 認証に追加の設定は不要
2
クラウドプロバイダー認証を設定
クラウドプロバイダーを選択し、安全な認証をセットアップ:
AWS Bedrock
AWS Bedrock
認証情報を保存せずに、GitHub ActionsがAWSに安全に認証できるようにAWSを設定します。
セキュリティに関する注意: リポジトリ固有の設定を使用し、最小限の必要な権限のみを付与します。必要なセットアップ:
-
Amazon Bedrockを有効化:
- Amazon Bedrockでのクラウドモデルへのアクセスをリクエスト
- クロスリージョンモデルの場合、すべての必要なリージョンでアクセスをリクエスト
-
GitHub OIDCアイデンティティプロバイダーをセットアップ:
- プロバイダーURL:
https://token.actions.githubusercontent.com - オーディエンス:
sts.amazonaws.com
- プロバイダーURL:
-
GitHub Actions用のIAMロールを作成:
- 信頼されたエンティティタイプ: Web identity
- アイデンティティプロバイダー:
token.actions.githubusercontent.com - 権限:
AmazonBedrockFullAccessポリシー - 特定のリポジトリの信頼ポリシーを設定
- AWS_ROLE_TO_ASSUME: 作成したIAMロールのARN
Google Vertex AI
Google Vertex AI
認証情報を保存せずに、GitHub ActionsがGoogle Cloudに安全に認証できるようにGoogle Cloudを設定します。
セキュリティに関する注意: リポジトリ固有の設定を使用し、最小限の必要な権限のみを付与します。必要なセットアップ:
-
Google Cloudプロジェクトで APIを有効化:
- IAM Credentials API
- Security Token Service (STS) API
- Vertex AI API
-
Workload Identity Federationリソースを作成:
- Workload Identity Poolを作成
- 以下を含むGitHub OIDCプロバイダーを追加:
- Issuer:
https://token.actions.githubusercontent.com - リポジトリと所有者の属性マッピング
- セキュリティ推奨: リポジトリ固有の属性条件を使用
- Issuer:
-
サービスアカウントを作成:
Vertex AI Userロールのみを付与- セキュリティ推奨: リポジトリごとに専用のサービスアカウントを作成
-
IAMバインディングを設定:
- Workload Identity Poolがサービスアカウントをなりすまし可能にする
- セキュリティ推奨: リポジトリ固有のプリンシパルセットを使用
- GCP_WORKLOAD_IDENTITY_PROVIDER: 完全なプロバイダーリソース名
- GCP_SERVICE_ACCOUNT: サービスアカウントのメールアドレス
3
必要なシークレットを追加
リポジトリに以下のシークレットを追加(設定 → シークレットと変数 → アクション):
Claude API(直接)の場合:
-
API認証の場合:
ANTHROPIC_API_KEY: console.anthropic.comからのClaude APIキー
-
GitHubアプリの場合(独自のアプリを使用している場合):
APP_ID: GitHubアプリのIDAPP_PRIVATE_KEY: プライベートキー(.pem)の内容
Google Cloud Vertex AIの場合
-
GCP認証の場合:
GCP_WORKLOAD_IDENTITY_PROVIDERGCP_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)の内容
4
ワークフローファイルを作成
クラウドプロバイダーと統合するGitHub Actionsワークフローファイルを作成します。以下の例は、AWS BedrocとGoogle Vertex AIの両方の完全な設定を示しています:
AWS Bedrockワークフロー
AWS Bedrockワークフロー
前提条件:
- AWS Bedrockアクセスが有効で、Claudeモデルの権限がある
- GitHubがAWSのOIDCアイデンティティプロバイダーとして設定されている
- GitHub Actionsを信頼するBedrock権限を持つIAMロール
| シークレット名 | 説明 |
|---|---|
AWS_ROLE_TO_ASSUME | Bedrockアクセス用のIAMロールのARN |
APP_ID | GitHubアプリID(アプリ設定から) |
APP_PRIVATE_KEY | GitHubアプリ用に生成したプライベートキー |
Google Vertex AIワークフロー
Google Vertex AIワークフロー
前提条件:
- GCPプロジェクトでVertex AI APIが有効
- GitHubに設定されたWorkload Identity Federation
- Vertex AI権限を持つサービスアカウント
| シークレット名 | 説明 |
|---|---|
GCP_WORKLOAD_IDENTITY_PROVIDER | Workload identity providerリソース名 |
GCP_SERVICE_ACCOUNT | Vertex AIアクセス権を持つサービスアカウントメール |
APP_ID | GitHubアプリID(アプリ設定から) |
APP_PRIVATE_KEY | GitHubアプリ用に生成したプライベートキー |
トラブルシューティング
Claudeが@claudeコマンドに応答しない
GitHubアプリが正しくインストールされていることを確認し、ワークフローが有効になっていることを確認し、APIキーがリポジトリシークレットに設定されていることを確認し、コメントに@claudeが含まれていることを確認します(/claudeではなく)。
CIがClaudeのコミットで実行されない
GitHub Appまたはカスタムアプリを使用していることを確認(Actionsユーザーではなく)、ワークフロートリガーに必要なイベントが含まれていることを確認し、アプリ権限にCIトリガーが含まれていることを確認します。認証エラー
APIキーが有効で十分な権限があることを確認します。Bedrock/Vertexの場合は、認証情報の設定を確認し、シークレットがワークフロー内で正しく名前付けされていることを確認します。高度な設定
アクションパラメータ
Claude Code Action v1は、簡素化された設定を使用します:| パラメータ | 説明 | 必須 |
|---|---|---|
prompt | Claude用の指示(テキストまたはスラッシュコマンド) | いいえ* |
claude_args | Claude Codeに渡されるCLI引数 | いいえ |
anthropic_api_key | Claude APIキー | はい** |
github_token | API アクセス用のGitHubトークン | いいえ |
trigger_phrase | カスタムトリガーフレーズ(デフォルト:「@claude」) | いいえ |
use_bedrock | Claude APIの代わりにAWS Bedrockを使用 | いいえ |
use_vertex | Claude APIの代わりにGoogle Vertex AIを使用 | いいえ |
**直接Claude APIに必須、Bedrock/Vertexには不要
claude_argsの使用
claude_argsパラメータは、任意のClaude Code CLIの引数を受け入れます:
--max-turns: 最大会話ターン数(デフォルト:10)--model: 使用するモデル(例:claude-sonnet-4-5-20250929)--mcp-config: MCPの設定へのパス--allowed-tools: 許可されたツールのカンマ区切りリスト--debug: デバッグ出力を有効化
代替統合方法
/install-github-appコマンドが推奨されるアプローチですが、以下も可能です:
- カスタムGitHubアプリ: ブランド化されたユーザー名またはカスタム認証フローが必要な組織向け。必要な権限(contents、issues、pull requests)を持つ独自のGitHubアプリを作成し、actions/create-github-app-tokenアクションを使用してワークフロー内でトークンを生成します。
- 手動GitHub Actions: 最大の柔軟性のための直接ワークフロー設定
- MCP設定: Model Context Protocolサーバーの動的読み込み
Claudeの動作をカスタマイズ
Claudeの動作は2つの方法で設定できます:- CLAUDE.md: リポジトリのルートに
CLAUDE.mdファイルを作成して、コーディング標準、レビュー基準、およびプロジェクト固有のルールを定義します。Claudeは、PRを作成してリクエストに応答する際に、これらのガイドラインに従います。詳細については、メモリドキュメントを確認してください。 - カスタムプロンプト: ワークフローファイルの
promptパラメータを使用して、ワークフロー固有の指示を提供します。これにより、異なるワークフローまたはタスク用にClaudeの動作をカスタマイズできます。