GitHub ActionsでClaudeを統合する方法
このリポジトリには、GitHub ActionsとClaude Codeを統合する2つのワークフローが設定されています。これらのワークフローにより、IssueやPull Requestで直接Claudeと対話したり、自動的なコードレビューを受けたりすることができます。
ワークフローの概要
1. Claude Code (.github/workflows/claude.yml)
IssueやPRのコメントで@claudeをメンションすることでClaudeを呼び出せるインタラクティブなワークフローです。
トリガー条件
以下のイベントで自動的に実行されます:
- Issue コメント: Issueに
@claudeを含むコメントが投稿された時 - PR レビューコメント: PRのコードレビューコメントに
@claudeが含まれている時 - PR レビュー: PRレビュー本文に
@claudeが含まれている時 - Issue 作成/アサイン: Issueのタイトルまたは本文に
@claudeが含まれている時
主な機能
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
actions: read # CI結果の読み取りが可能
- リポジトリの読み取り権限
- PR/Issueの読み取り権限
- CI/CDの実行結果を読み取る権限(PRのテスト結果確認など)
カスタマイズ可能な設定
# カスタムプロンプトの指定(オプション)
# prompt: 'Update the pull request description to include a summary of changes.'
# Claudeの動作をカスタマイズ(オプション)
# claude_args: '--model claude-opus-4-1-20250805 --allowed-tools Bash(gh pr:*)'
2. Claude Code Review (.github/workflows/claude-code-review.yml)
Pull Requestが作成または更新されたときに自動的にコードレビューを実行するワークフローです。
トリガー条件
- PR オープン: 新しいPRが作成された時
- PR 更新: PRに新しいコミットがプッシュされた時
レビュー内容
Claudeは以下の観点で自動的にコードをレビューします:
- コード品質とベストプラクティス: コーディング規約への準拠、可読性
- 潜在的なバグや問題点: ロジックエラー、エッジケースの検出
- パフォーマンス: 効率性、最適化の余地
- セキュリティ: 脆弱性、セキュリティリスクの検出
- テストカバレッジ: テストの十分性
カスタマイズオプション
# 特定のファイルのみを対象にする
# paths:
# - "src/**/*.ts"
# - "src/**/*.tsx"
# 特定の作成者のPRのみレビュー
# if: |
# github.event.pull_request.user.login == 'external-contributor' ||
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
Claudeはgh pr commentコマンドを使用してレビュー結果をPRコメントとして投稿します。
セットアップ方法
1. Claude Code OAuth トークンの取得
- Claude Codeにアクセス
- OAuth認証を完了してトークンを取得
2. GitHub Secretsの設定
- リポジトリの Settings → Secrets and variables → Actions に移動
- New repository secret をクリック
- 以下のシークレットを追加:
- Name:
CLAUDE_CODE_OAUTH_TOKEN - Secret: 取得したOAuthトークンを貼り付け
- Name:
3. ワークフローファイルの配置
/install-github-appコマンドを実行すると、以下のファイルが自動的に作成されます:
.github/
└── workflows/
├── claude.yml
└── claude-code-review.yml
使い方
インタラクティブモード(claude.yml)
Issueでの使用例
@claude このエラーを修正する方法を教えてください
TypeError: Cannot read property 'map' of undefined
at src/components/ArticleList.vue:42
Claudeがエラーの原因を分析し、修正方法を提案します。
PRレビューコメントでの使用例
@claude この関数のパフォーマンスを改善できますか?
Claudeが該当のコードを分析し、最適化案を提示します。
PRレビューでの使用例
@claude このPRの変更内容をまとめた説明文を作成してください
Claudeがdiffを読み取り、PR説明文を生成します。
自動レビューモード(claude-code-review.yml)
PRを作成または更新すると、自動的にClaudeがコードレビューを実行します。
- ブランチを作成してコードを変更
- PRを作成
- GitHub Actionsが自動実行される
- 数分後、ClaudeのレビューコメントがPRに投稿される
高度なカスタマイズ
モデルの変更
より高度なタスクには、より強力なモデルを指定できます:
claude_args: '--model claude-opus-4-1-20250805'
使用可能なツールの制限
セキュリティのため、Claudeが使用できるツールを制限できます:
claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh pr comment:*)"'
カスタムプロンプトの作成
特定のタスク用にプロンプトをカスタマイズ:
prompt: |
このPRのセキュリティリスクのみをレビューしてください。
特に以下の点に注目してください:
- SQLインジェクション
- XSS脆弱性
- 認証/認可の問題
特定ファイルのみレビュー
不要なレビューを避けるため、対象ファイルを限定:
on:
pull_request:
types: [opened, synchronize]
paths:
- "apps/web/**/*.ts"
- "apps/web/**/*.vue"
トラブルシューティング
ワークフローが実行されない
確認事項:
CLAUDE_CODE_OAUTH_TOKENが正しく設定されているか- ワークフローファイルが
.github/workflows/ディレクトリに配置されているか - リポジトリのActions設定で、GitHub Actionsが有効になっているか
権限エラーが発生する
解決方法:
permissions:
contents: write # 書き込み権限が必要な場合
pull-requests: write
Claudeが応答しない
確認事項:
- コメントに正確に
@claudeと記載されているか(大文字小文字を区別) - ワークフローのトリガー条件に一致しているか
参考リンク
まとめ
この統合により、開発ワークフローに以下のメリットがあります:
✅ コードレビューの自動化: 人手によるレビュー前にClaudeが基本的な問題を検出 ✅ 迅速な問題解決: Issueで直接Claudeに質問して即座に回答を得られる ✅ 一貫性のあるコード品質: すべてのPRで同じ基準でレビューが実行される ✅ 学習機会の提供: Claudeの提案から新しいベストプラクティスを学べる
GitHub ActionsとClaudeの統合で、より効率的で質の高い開発プロセスを実現できます。