PR

Claude GitHub Actions セットアップガイド

はじめに

GitHub上のPull Requestに自動でレビューコメントが付くと、コード品質向上とレビュー工数削減が一気に進みます。本記事では、Anthropic ClaudeをGitHub Actionsで呼び出すanthropics/claude-code-actionを例に、最短かつトラブルレスで導入する手順を解説します。

Why Claude? ChatGPT系と比較して長文解析や要約が得意で、複数ファイルをまたいだ変更にも強いのが特徴です。

対象読者と環境想定

  • 対象読者:GitHub CLIを使って自動レビューを導入したい中〜上級エンジニア
  • 環境想定:macOS 14.x、GitHub Personal・Organizationいずれも対応
  • 所要時間:初回10〜15分

作業場所の区別

この記事では作業場所を以下の記号で明確に区別します:

  • [CLI] = ローカル作業(ターミナル、CLI)
  • [WEB] = Web作業(ブラウザ、GitHub上)
  • [設定] = 設定作業
  • [確認] = 確認作業
  • [注意] = トラブルシューティング

全体フロー概要

[CLI] GitHub CLI & PAT 準備
    ↓
[WEB] リポジトリ同期
    ↓
[WEB] Claude GitHub App インストール
    ↓
[設定] Secrets に API キー設定
    ↓
[CLI] Workflow 自動生成 or 手動追加
    ↓
[WEB] テスト PR 作成
    ↓
[確認] Actions でレビュー確認

公式クイックスタート(最短セットアップ)

ソース: https://docs.anthropic.com/ja/docs/claude-code/github-actions

[CLI] ターミナルから一発セットアップ

claude /install-github-app

このコマンド一つで以下が完了します:

  • Claude GitHub App のインストール
  • ANTHROPIC_API_KEY の Secrets 登録
  • ワークフロー examples/claude.yml 追加

前提条件チェックリスト

項目条件確認方法
macOS14以降システム情報で確認
Homebrew最新brew update && brew upgrade
GitHub CLIv2.49以上gh –version
Anthropic API キー有効Claude Consoleで取得

Step-1:GitHub CLI をインストール/アップデート

[CLI] ターミナルで実行:

# 未インストールの場合
brew install gh

# 既に入っている場合
brew upgrade gh

Tips: Apple Siliconでは自動でarm64バイナリが入りますが、Rosetta経由の古いghが残っているとPATH競合する場合があります。

Step-2:PAT(Personal Access Token)を正しく発行

[WEB] GitHub Web UIでの作業

  1. URL: https://github.com/settings/tokens/new
  2. Classic Token を選択(Fine-grainedは一部CLI機能未対応)
  3. 有効期限は90 days〜1 yearを推奨
  4. 必須スコープにチェック:
    • repo
    • workflow
    • read:org
  5. Generate → ghp_ で始まるトークンをコピー(再表示不可)

[注意] ハマりどころ:repoだけだとリポジトリ作成はできてもGitHub Actionsの実行で404エラーになります。workflowスコープを必ず追加してください。

Step-3:GitHub CLI に認証

[CLI] ブラウザフロー(推奨)

gh auth login

[CLI] PAT 直接入力

echo "ghp_xxx" | gh auth login --with-token

[注意] ハマりどころ:CLIが認証済みでもキャッシュ破損でトークン不一致エラーの場合は rm -rf ~/.config/gh で初期化してください。

Step-4:リポジトリを GitHub と同期

[CLI] 新規作成 & Push(最速コマンド)

gh repo create practice-github --private --source=. --push

[CLI] 既存リポジトリに紐づけ

git remote add origin https://github.com/<USER>/<REPO>.git
git push -u origin main   # 初回のみ -u で upstream 設定

[注意] ハマりどころ:同名リポジトリが既に存在 → CLIは Name already exists エラー。gh repo viewで存在確認してから remote add してください。

Step-5:Claude GitHub App をインストール

[WEB] Web上で作業:

  1. CLIが案内するURLか直接 → https://github.com/apps/claude-code-action
  2. InstallOnly select repositories → practice-github だけチェック → Install
  3. [CLI] ターミナルに戻り Enter で続行

[注意] ハマりどころ:404になる場合はCLIが見ているアプリ名と実URLがずれているケース。手動でURL直打ちが確実です。

Step-6:Secrets に ANTHROPIC_API_KEY を登録

[WEB] GitHub Web UIでの作業

Settings → Secrets and variables → Actions → New repository secret
Name : ANTHROPIC_API_KEY
Value: sk-ant-************************

既に存在する場合は「Use existing」を選択(CLIプロンプト)

Step-7:Workflow ファイルを確認/手動作成

[確認] 自動生成を確認

.github/workflows/claude-code-review.yml

[CLI] 手動で追加する場合の最小テンプレ

name: Claude Review
on:
  pull_request:
    types: [opened, synchronize]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: anthropics/claude-code-action@main
        with:
          anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}

勘所:YAML名は自由ですが on.pull_request トリガーを必ず指定してください。pushだけだとコメントが付きません。

Step-8:動作テスト & ログの読み方

[CLI] テスト用PRを作成

git checkout -b test/claude
printf "print('Hello Claude')" > hello.py
git add hello.py
git commit -m "feat: trigger Claude review"
git push -u origin test/claude

[WEB] GitHub Web UIでの確認

  1. GitHub上で Pull Request を作成
  2. Actions > Claude Code が実行中 → 完了になれば成功
  3. PRタブに claude ユーザーがレビューコメントを投稿しているか確認

[注意] ハマりどころ:Pendingのまま止まる→ APIキー上限 / ワークフロー実行数上限が原因。Actions → 該当Run → Logsを確認するとHTTP 429等が表示されます。

よくあるハマりどころ & 即効解決スニペット

勘所:エラーメッセージの “scope” と “resource” を読み取れれば90%はPAT権限設定で解決します。

症状 (CLI / Web)代表的なエラーメッセージ原因即効コマンド / 対処
認証ループYou are not logged into any GitHub hosts既存キャッシュとブラウザ認証コードが食い違いrm -rf ~/.config/gh && gh auth login でクリーン再認証
PATスコープ不足missing scope ‘workflow’
error validating token: missing required scope ‘read:org’
PAT発行時に必要スコープ未選択gh auth refresh -h github.com -s workflow,read:org または新規PAT発行
不正なCLI引数unknown flag: –github_pat_xxxPATをCLIフラグに直接渡したecho "ghp_xxx" | gh auth login --with-token
リポジトリ解決失敗Could not resolve to a Repository with the nameremote未設定 / プライベートrepo権限不足git remote add origin ...git push -u origin main / PATにrepo付与
リポジトリ重複Name already exists on this account (createRepository)同名リポジトリが既に存在gh repo view <user>/<repo> で確認 → 既存remoteを使う or 別名作成
App インストール 404gh: Not Found (HTTP 404)App URLかRepo権限不足手動で https://github.com/apps/claude-code-action を開きInstall
ワークフロー権限警告Missing workflow permissionsPATにworkflowスコープ無しgh auth refresh -h github.com -s workflow
Actions実行404Resource not accessible by personal access tokenread:org or repo スコープ不足PATを再生成 (repo,read:org)
Workflowが Pending のままWeb UIで実行中マークが動かない同時実行制限 / Organization ポリシー / API レート制限queueを確認 → 制限解除 or Organization の Settings → Actions permissions で許可
Secrets未読Run ログ: Secrets not foundSecrets名タイポ or Environments経由で制限Settings → Secrets → Actions 名称を再確認;必要なら environment: を YAML に追加
GitHub Appのトークン消費上限Run ログ: HTTP 429Claude API キーのレート上限到達レートリミット時間を待つ/Claude ビルドプランを上げる

詳細トラブルシューティング手順

1. 認証関連のトラブル

症状: 「You are not logged into any GitHub hosts」や認証ループが発生

手順:

  1. 既存の認証情報をクリア: rm -rf ~/.config/gh
  2. 認証状態を確認: gh auth status
  3. クリーン再認証: gh auth login
  4. ブラウザで認証コードを入力
  5. 認証完了を確認: gh auth status

2. PAT(Personal Access Token)スコープ問題

症状: 「missing scope ‘workflow’」「error validating token」

手順:

  1. 現在のスコープ確認: gh auth status -t
  2. 不足スコープの追加: gh auth refresh -h github.com -s workflow,read:org
  3. または新規PAT発行:
    • https://github.com/settings/tokens/new で新規作成
    • 必須スコープ: repo, workflow, read:org
    • 新しいトークンで再認証: echo "新しいトークン" | gh auth login --with-token

3. リポジトリアクセス問題

症状: 「Could not resolve to a Repository」「Resource not accessible」

手順:

  1. リポジトリ存在確認: gh repo view ユーザー名/リポジトリ名
  2. リモート設定確認: git remote -v
  3. リモート未設定の場合: git remote add origin https://github.com/USER/REPO.git
  4. プッシュテスト: git push -u origin main
  5. 権限不足の場合: PAT再発行 (repo スコープ確認)

4. GitHub Actions実行問題

症状: Workflowが開始されない、Pendingのまま

手順:

  1. Actions タブで実行状況確認
  2. Organization設定の場合:
    • Settings → Actions → General
    • 「Allow all actions and reusable workflows」を選択
  3. 同時実行制限確認:
    • キューに溜まっている他のワークフローを確認
    • 必要に応じてキャンセル
  4. Secrets設定確認:
    • Settings → Secrets and variables → Actions
    • ANTHROPIC_API_KEY の存在と正確性を確認

5. Claude API関連問題

症状: 「HTTP 429」「Rate limit exceeded」

手順:

  1. Claude Console でAPI使用量確認
  2. レートリミットの場合: 時間を置いて再実行
  3. 継続的な問題の場合:
    • 上位プランへのアップグレード検討
    • レビュー対象ファイルの絞り込み (include/exclude設定)
    • 大きなPRは分割して投稿

6. Workflow YAML設定問題

症状: Workflowは実行されるがレビューコメントが付かない

手順:

  1. YAML構文確認: gh workflow list
  2. トリガー設定確認: on: pull_request: types: [opened, synchronize]
  3. Actions logs確認:
    • 該当ワークフロー → 最新実行 → ログ詳細表示
    • エラーメッセージを確認
  4. 権限設定確認: permissions: contents: read pull-requests: write

高度な設定オプション

カスタムプロンプト設定

- uses: anthropics/claude-code-action@main
  with:
    anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
    prompt: "このコードの品質、セキュリティ、パフォーマンスを重点的にレビューしてください"

ファイルフィルタ設定

- uses: anthropics/claude-code-action@main
  with:
    anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
    include: "src/**/*.js,src/**/*.ts"
    exclude: "*.test.js,*.spec.js"

完了チェックリスト

  • GitHub CLI 最新版
  • PAT (repo,workflow,read:org) で認証済み
  • リモートリポジトリとローカルが origin で接続
  • Claude GitHub App を対象リポジトリにインストール
  • ANTHROPIC_API_KEY を Secrets に登録
  • .github/workflows/claude-code-review.yml が存在
  • テスト PR で Actions が完了

まとめ

ここまで通れば、Claude があなたの PR を 24h 365d でレビューしてくれます。次は自動テストや Lint と組み合わせて、“防御的な CI ジャーニー” を構築しましょう。

参考リンク

タイトルとURLをコピーしました