@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アプリをインストールしてシークレットを追加するには、リポジトリ管理者である必要があります - このクイックスタート方法は直接Claude 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 v1.0はベータ版からv1.0にアップグレードするためにワークフローファイルの更新が必要な破壊的変更を導入しています。
必須の変更
すべてのベータユーザーはアップグレードするためにワークフローファイルに以下の変更を行う必要があります:- アクションバージョンを更新:
@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 | GitHub変数付きのprompt |
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
メンションに応答)または自動化モード(プロンプトで即座に実行)のどちらで実行するかを自動的に検出します。使用例
Claude Code GitHub Actionsは様々なタスクで役立ちます。examplesディレクトリには異なるシナリオ用のすぐに使えるワークフローが含まれています。基本ワークフロー
スラッシュコマンドの使用
プロンプトを使用したカスタム自動化
一般的な使用例
issueまたはPRコメントで:ベストプラクティス
CLAUDE.md設定
リポジトリルートにCLAUDE.md
ファイルを作成して、コードスタイルガイドライン、レビュー基準、プロジェクト固有のルール、推奨パターンを定義します。このファイルはClaudeのプロジェクト標準の理解をガイドします。
セキュリティ考慮事項
APIキーを直接リポジトリにコミットしないでください!
- 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の価格ページをご覧ください
- 不要なAPI呼び出しを減らすために具体的な
@claude
コマンドを使用 - 過度な反復を防ぐために
claude_args
で適切な--max-turns
を設定 - 暴走ジョブを避けるためにワークフローレベルのタイムアウトを設定
- 並列実行を制限するためにGitHubの同時実行制御の使用を検討
設定例
Claude Code Action v1は統一されたパラメータで設定を簡素化します:- 統一されたプロンプトインターフェース - すべての指示に
prompt
を使用 - スラッシュコマンド -
/review
や/fix
などの事前構築されたプロンプト - CLIパススルー -
claude_args
経由でClaude Code CLIの任意の引数 - 柔軟なトリガー - 任意のGitHubイベントで動作
issueまたはPRコメントに応答する際、Claudeは自動的に@claudeメンションに応答します。他のイベントの場合は、
prompt
パラメータを使用して指示を提供してください。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 Identity Provider
- 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
ファイルを保存 - アプリ設定ページからApp IDをメモ
- アプリをリポジトリにインストール:
- アプリの設定ページから、左サイドバーの「Install App」をクリック
- アカウントまたは組織を選択
- 「Only select repositories」を選択して特定のリポジトリを選択
- 「Install」をクリック
- 秘密鍵をリポジトリのシークレットとして追加:
- リポジトリのSettings → Secrets and variables → Actionsに移動
.pem
ファイルの内容でAPP_PRIVATE_KEY
という名前の新しいシークレットを作成
- App IDをシークレットとして追加:
- GitHub AppのIDで
APP_ID
という名前の新しいシークレットを作成
このアプリはactions/create-github-app-tokenアクションと一緒に使用して、ワークフローで認証トークンを生成します。
- https://github.com/apps/claude からインストール
- 認証に追加設定は不要
2
クラウドプロバイダー認証を設定
クラウドプロバイダーを選択し、安全な認証をセットアップ:
AWS Bedrock
AWS Bedrock
資格情報を保存せずにGitHub ActionsがAWSに安全に認証できるようにAWSを設定します。詳細なOIDCセットアップ手順についてはAWSドキュメントをご覧ください。
セキュリティ注意: リポジトリ固有の設定を使用し、必要最小限の権限のみを付与してください。必要なセットアップ:
-
Amazon Bedrockを有効化:
- Amazon BedrockでClaudeモデルへのアクセスを要求
- クロスリージョンモデルの場合、すべての必要なリージョンでアクセスを要求
-
GitHub OIDC Identity Providerをセットアップ:
- Provider URL:
https://token.actions.githubusercontent.com
- Audience:
sts.amazonaws.com
- Provider URL:
-
GitHub Actions用のIAMロールを作成:
- 信頼されたエンティティタイプ: Web identity
- Identity provider:
token.actions.githubusercontent.com
- 権限:
AmazonBedrockFullAccess
ポリシー - 特定のリポジトリ用の信頼ポリシーを設定
- AWS_ROLE_TO_ASSUME: 作成したIAMロールのARN
OIDCは資格情報が一時的で自動的にローテーションされるため、静的なAWSアクセスキーを使用するよりも安全です。
Google Vertex AI
Google Vertex AI
資格情報を保存せずにGitHub ActionsがGoogle Cloudに安全に認証できるようにGoogle Cloudを設定します。詳細なセットアップ手順については、Google Cloud Workload Identity Federationドキュメントをご覧ください。
セキュリティ注意: リポジトリ固有の設定を使用し、必要最小限の権限のみを付与してください。必要なセットアップ:
-
APIを有効化 Google Cloudプロジェクトで:
- 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: サービスアカウントのメールアドレス
Workload Identity Federationはダウンロード可能なサービスアカウントキーの必要性を排除し、セキュリティを向上させます。
3
必要なシークレットを追加
リポジトリに以下のシークレットを追加(Settings → Secrets and variables → Actions):
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_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)の内容
4
ワークフローファイルを作成
クラウドプロバイダーと統合するGitHub Actionsワークフローファイルを作成します。以下の例はAWS BedrockとGoogle Vertex AIの両方の完全な設定を示しています:
AWS Bedrockワークフロー
AWS Bedrockワークフロー
前提条件:
- Claudeモデル権限でAWS Bedrockアクセスが有効
- AWSでOIDC identity providerとして設定されたGitHub
- GitHub Actionsを信頼するBedrock権限を持つIAMロール
シークレット名 | 説明 |
---|---|
AWS_ROLE_TO_ASSUME | Bedrockアクセス用のIAMロールのARN |
APP_ID | GitHubアプリID(アプリ設定から) |
APP_PRIVATE_KEY | GitHubアプリ用に生成した秘密鍵 |
BedrockのモデルID形式にはリージョンプレフィックス(例:
us.anthropic.claude...
)とバージョンサフィックスが含まれます。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アプリ用に生成した秘密鍵 |
プロジェクトIDはGoogle Cloud認証ステップから自動的に取得されるため、ハードコーディングする必要はありません。
トラブルシューティング
Claudeが@claudeコマンドに応答しない
GitHubアプリが正しくインストールされていることを確認し、ワークフローが有効になっていることをチェックし、APIキーがリポジトリシークレットに設定されていることを確認し、コメントに@claude
が含まれていることを確認してください(/claude
ではありません)。
ClaudeのコミットでCIが実行されない
GitHubアプリまたはカスタムアプリを使用していることを確認し(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の動作をカスタマイズできます。