Claude CodeはGitHub CLIと連携することで、自然言語による指示でGitHub操作を自動化できます。
「PRを作成して」「レビューコメントに対応して」といった指示により、複数のコマンドを組み合わせた作業を効率的に実行できます。従来は手動で行っていたPR作成、コメント対応、CI修正などの作業が、Claude Codeの理解力と実行力により簡素化されます。
本記事では、Claude CodeでのGitHub操作について、具体的なコマンドと使用例を交えて解説します。
ghコマンド
Claude Codeからghコマンドを打つことができるので、Githubに対しての基本的な操作は大抵行うことができます。
つまり、開発者は自然言語での指示をClaude Codeに与えることで、その内容に基づき適切なghコマンドを実行し、GitHubの操作を行うことができます。
以下にghコマンドでできることを説明します。
Pull Request操作
gh pr create
PR(Pull Request)を作成します。現在のブランチから対象ブランチに向けてプルリクエストを作成できます。
# 基本的な使用方法
gh pr create --title "新機能の追加" --body "詳細な説明"
# インタラクティブモードで作成
gh pr create
gh pr list
リポジトリのPR一覧を表示します。
# 全てのPRを表示
gh pr list
# 自分が作成したPRのみ表示
gh pr list --author @me
gh pr view
指定したPRの詳細を表示します。
# PR番号で表示
gh pr view 123
# 現在のブランチのPRを表示
gh pr view --web
gh pr review
PRのレビューを行います。
# PRにコメントを追加
gh pr review 123 --comment --body "修正が必要です"
# PRを承認
gh pr review 123 --approve
Issue操作
gh issue list
リポジトリのIssue一覧を表示します。
# 全てのIssueを表示
gh issue list
# オープンなIssueのみ表示
gh issue list --state open
# 自分がアサインされたIssueを表示
gh issue list --assignee @me
gh issue create
新しいIssueを作成します。
# 基本的な使用方法
gh issue create --title "バグ報告" --body "詳細な説明"
# インタラクティブモードで作成
gh issue create
# ラベルを付けて作成
gh issue create --title "新機能" --label "enhancement"
gh issue view
指定したIssueの詳細を表示します。
# Issue番号で表示
gh issue view 456
# ブラウザで開く
gh issue view 456 --web
Repository操作
gh repo clone
GitHubリポジトリをローカルにクローンします。
# 基本的なクローン
gh repo clone owner/repo-name
# 特定のディレクトリにクローン
gh repo clone owner/repo-name ./my-project
# フォークしてクローン
gh repo clone owner/repo-name --fork
gh repo view
リポジトリの情報を表示します。
# 現在のリポジトリ情報を表示
gh repo view
# 特定のリポジトリ情報を表示
gh repo view owner/repo-name
# ブラウザで開く
gh repo view --web
gh api
GitHub APIを直接呼び出します。
# リポジトリ情報をAPIで取得
gh api repos/owner/repo-name
# Issue一覧をAPIで取得
gh api repos/owner/repo-name/issues
# POST リクエストでIssueを作成
gh api repos/owner/repo-name/issues -f title="新しいIssue" -f body="説明"
その他
gh workflow run
GitHub Actionsのワークフローを実行します。
# 特定のワークフローを実行
gh workflow run "CI"
# ワークフロー一覧を表示
gh workflow list
# ワークフローの実行履歴を表示
gh run list
gh release create
新しいリリースを作成します。
# 基本的なリリース作成
gh release create v1.0.0
# リリースノート付きでリリース作成
gh release create v1.0.0 --notes "新機能を追加しました"
# ファイルを添付してリリース作成
gh release create v1.0.0 --notes "リリース v1.0.0" ./dist/*
具体的な使い方の例
実務で活用できる具体的な使い方を説明します。
PRの作成
Claude Codeに「新機能のPRを作成して」と指示すると、以下のような流れで自動的にPRを作成してくれます:
実際の例
ユーザー: 「ユーザー認証機能を実装したので、PRを作成して」
Claude Codeは以下の手順を実行します:
1. 変更内容の確認
git status
git diff
変更されたファイルや追加されたファイルを確認し、どのような機能が実装されたかを把握します。
2. コミット状況の確認
git log --oneline -5
最近のコミット履歴を確認し、適切なPRタイトルとボディを生成するための情報を収集します。
3. リモートへのプッシュ
git push origin feature/user-auth
現在のブランチをリモートリポジトリにプッシュします。
4. PRの作成
gh pr create --title "ユーザー認証機能の実装" --body "$(cat <<'EOF'
## 概要
- ユーザーのログイン・ログアウト機能を追加
- JWTトークンによる認証を実装
- パスワードハッシュ化による安全な保存
## 変更内容
- auth.js: 認証ロジックの実装
- login.html: ログインフォームの追加
- middleware.js: 認証ミドルウェアの追加
## テスト
- [x] ログイン機能のテスト
- [x] ログアウト機能のテスト
- [x] 認証ミドルウェアのテスト
EOF
)"
Claude Codeは変更内容を分析し、適切なPRタイトルと詳細な説明を自動生成してくれます。
PRコメントに対応
Claude Codeに「PRのレビューコメントに対応して」と指示すると、自動的にコメントを確認し、適切な修正を行ってくれます。
実際の例
ユーザー: 「PR #123のレビューコメントに対応して修正を行って」
Claude Codeは以下の手順を実行します:
1. PRコメントの取得
gh pr view 123
gh api repos/owner/repo/pulls/123/comments
指定されたPRのコメントを取得し、レビュアーからの指摘内容を確認します。
2. コメント内容の分析 Claude Codeはコメントを分析し、以下のような修正点を特定します:
- コードの改善提案
- バグの指摘
- セキュリティ上の問題
- パフォーマンス改善の提案
3. 修正の実行 例えば、「エラーハンドリングを追加してください」というコメントがあった場合:
// 修正前
const result = await apiCall();
// 修正後(Claude Codeが自動修正)
try {
const result = await apiCall();
// 処理続行
} catch (error) {
console.error('API呼び出しエラー:', error);
throw new Error('APIリクエストに失敗しました');
}
4. 修正内容のコミット
git add .
git commit -m "レビューコメントに対応: エラーハンドリングを追加"
git push origin feature/user-auth
5. レビューコメントへの返信
gh pr comment 123 --body "ご指摘いただいたエラーハンドリングを追加しました。ご確認ください。"
失敗したGitHub Actionsへの対応
Claude Codeに「失敗したGitHub Actionsを確認して修正して」と指示すると、自動的にエラー原因を特定し、修正を行ってくれます。
実際の例
ユーザー: 「CIが失敗しているので原因を調べて修正して」
Claude Codeは以下の手順を実行します:
1. ワークフロー実行状況の確認
gh run list --limit 5
gh run view [RUN_ID]
最近のワークフロー実行履歴を確認し、失敗した実行の詳細を取得します。
2. ログの分析
gh run view [RUN_ID] --log
失敗したジョブのログを取得し、エラー内容を分析します。
3. よくある失敗パターンと対応
テストの失敗
エラー: Test suite failed. 0 passing (1s), 1 failing
Claude Codeは失敗したテストを特定し、コードを修正:
// 修正例: 非同期処理の待ち忘れを修正
// 修正前
it('should return user data', () => {
const result = getUserData();
expect(result.name).toBe('John');
});
// 修正後
it('should return user data', async () => {
const result = await getUserData();
expect(result.name).toBe('John');
});
リント エラー
エラー: ESLint found 3 errors
Claude Codeは自動的にリントエラーを修正:
npx eslint --fix src/
ビルド エラー
エラー: Module not found: Error: Can't resolve './components/Button'
Claude Codeはインポートパスやファイル名を修正:
// 修正前
import Button from './components/Button';
// 修正後
import Button from './components/Button.jsx';
4. 修正内容のコミットとプッシュ
git add .
git commit -m "CI修正: テストの非同期処理待ち忘れを修正"
git push origin feature/user-auth
5. 再実行の確認
gh run rerun [RUN_ID]
gh run watch
修正後、ワークフローを再実行し、成功を確認します。
まとめ
Claude CodeとGitHubの連携により、開発者は自然言語による指示だけで、複雑なGitHub操作を自動化できるようになります。
Claude CodeでできるGitHub操作
基本的なコマンド操作
- Pull Request: 作成、一覧表示、詳細確認、レビュー
- Issue: 一覧表示、作成、詳細確認
- Repository: クローン、情報表示、API直接呼び出し
- ワークフロー: GitHub Actions実行、リリース作成
実務での活用メリット
- 効率化: 複数のコマンドを組み合わせた複雑な操作を一度の指示で実行
- 自動化: 変更内容の分析から適切なPR作成まで全自動
- 品質向上: レビューコメントの自動対応、CI失敗の自動修正
Claude Codeを活用することで、GitHub操作にかかる時間を大幅に短縮し、より創造的な開発作業に集中できるようになります。単なるコマンド実行ツールを超えて、開発者の意図を理解し、最適な方法でGitHub操作を代行してくれる強力なアシスタントとして機能します。