Claude Code GitHub Action入門|claude-code-actionの基本設定と使い方

Claude Code GitHub Action(claude-code-action)の基本設定と使い方を解説。ワークフローファイルの作成から@claudeメンションの活用まで、実践的なセットアップ方法を紹介。

32分で読めます

Claude Code GitHub Action入門

Claude Code GitHub Action(claude-code-action)を使えば、GitHub上でAIを活用した自動化が可能になります。PRへのコメントやIssue対応を自動化し、開発ワークフローを効率化しましょう。

この記事では、claude-code-actionの基本的な設定方法と使い方を解説します。

Claude Code GitHub Actionとは

anthropics/claude-code-actionは、Anthropic公式のGitHub Actionです。

主な機能

  • @claudeメンション対応: PRやIssueで@claudeとメンションするとAIが応答
  • 自動コードレビュー: PRに対してセキュリティやパフォーマンスの観点からレビュー
  • Issue対応: Issueの内容を理解し、修正コードを提案
  • PR作成: Issueから自動でPRを作成

セットアップ手順

ステップ1: GitHub Appのインストール

まず、Claude GitHub Appをリポジトリにインストールします。

  1. github.com/apps/claudeにアクセス
  2. 「Install」をクリック
  3. インストール先のアカウント/組織を選択
  4. アクセスするリポジトリを選択
  5. 「Install」をクリック

ステップ2: APIキーの設定

GitHub SecretsにAnthropicのAPIキーを追加します。

  1. リポジトリの「Settings」→「Secrets and variables」→「Actions」
  2. 「New repository secret」をクリック
  3. 以下を設定:
    1. Name: ANTHROPIC_API_KEY
    2. Value: Anthropic ConsoleのAPIキー

Max Subscriptionを使用する場合:

Claude Codeで以下を実行してトークンを取得:

claude setup-token

発行されたトークンをGitHub Secretsに設定:

  • Name: CLAUDE_CODE_OAUTH_TOKEN
  • Value: 発行されたトークン

ステップ3: ワークフローファイルの作成

リポジトリに.github/workflows/claude.ymlを作成します。

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:
    if: |
      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'issues' && contains(github.event.issue.body, '@claude')) ||
      (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude'))
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 1

      - name: Run Claude Code
        uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

ワークフローの解説

トリガーイベント

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]
  pull_request_review:
    types: [submitted]

イベント

説明

issue_comment

Issueにコメントが追加されたとき

pull_request_review_comment

PRレビューにコメントが追加されたとき

issues

Issueが作成/アサインされたとき

pull_request_review

PRレビューが送信されたとき

条件分岐(if)

if: |
  (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
  ...

@claudeを含むコメントの場合のみ実行されます。

権限設定

permissions:
  contents: write      # ファイルの読み書き
  pull-requests: write # PRの作成・更新
  issues: write        # Issueへのコメント
  id-token: write      # 認証用

基本的な使い方

PRでコードレビューを依頼

PRのコメント欄に以下を入力:

@claude このPRをレビューしてください。
特にセキュリティとパフォーマンスの観点からチェックをお願いします。

Issueからバグ修正を依頼

Issueのコメント欄に以下を入力:

@claude このバグを修正するPRを作成してください。

機能実装を依頼

Issueの本文に以下を記載:

@claude 以下の機能を実装してください。

## 要件
- ユーザー認証機能
- パスワードリセット
- セッション管理

カスタマイズ例

自動レビューを追加

PRが作成されたときに自動でレビューを実行:

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  auto-review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: |
            このPRをレビューしてください。
            セキュリティ、パフォーマンス、コード品質の観点からチェックしてください。

特定のラベルでトリガー

「ai-review」ラベルが付いたPRのみレビュー:

jobs:
  claude:
    if: contains(github.event.pull_request.labels.*.name, 'ai-review')
    ...

トラブルシューティング

Actionが実行されない

確認ポイント:

  1. ワークフローファイルが.github/workflows/に存在するか
  2. @claudeの前後にスペースがあるか
  3. ActionsタブでWorkflowが有効になっているか

認証エラー

症状:

Error: Invalid API key

解決策:

  1. Secretsの名前が正しいか確認(ANTHROPIC_API_KEY
  2. APIキーが有効か確認
  3. 組織設定でSecretsが許可されているか確認

権限エラー

症状:

Error: Resource not accessible by integration

解決策:

  1. permissionsセクションが正しく設定されているか確認
  2. GitHub Appの権限を確認
  3. 組織設定でActionsが許可されているか確認

セキュリティ考慮事項

APIキーの管理

  • 必ずGitHub Secretsを使用(コードに直接記載しない)
  • 定期的にキーをローテーション
  • 最小権限の原則を適用

アクセス制御

  • 信頼できるユーザーのみが@claudeを使用できるように設定
  • フォークからのPRには制限を検討

まとめ

Claude Code GitHub Actionを使えば:

  • @claudeメンションで即座にAIが応答
  • コードレビューを自動化
  • Issue対応をAIに任せる

設定はワークフローファイル1つで完了。まずは基本設定から始めて、チームのワークフローに合わせてカスタマイズしていきましょう。

参考リンク

関連記事