コンテンツにスキップ

GitHub CLI でプルリクエスト自動化を5分で実装する方法

この記事の対象者

  • 中級者: GitHub を日常的に使用し、CLI 操作に慣れているエンジニア

この記事のポイント

  1. gh コマンドで PR を自動作成・マージする
  2. CI/CD パイプラインと連携した PR レビュー自動化
  3. チーム固有のワークフローテンプレート作成

なぜこの問題が今重要か

手動 PR 作成は開発フローのボトルネック。平均的な開発者は 1 日 20 分を PR 関連作業に費やしており、gh CLI 活用で作業時間を 80% 削減可能。特に複数リポジトリ管理や定期リリース作業で効果大。

解決ステップ概要

ステップ内容到達指標
1gh 初期設定と認証gh auth status で認証確認
2PR 自動作成スクリプト実装1 コマンドで PR 作成完了
3CI/CD 連携とレビュー自動化PR チェック自動実行

ステップ1: gh 初期設定と認証

GitHub CLI の初期セットアップと認証トークン設定。Personal Access Token より OAuth 認証を推奨。スコープは repo, workflow, read:org が必須。

# 認証セットアップ(対話形式)
gh auth login

# 非対話形式(CI/CD 向け)
echo $GITHUB_TOKEN | gh auth login --with-token

ステップ2: PR 自動作成スクリプト実装

定型的な PR 作成をワンライナーで実装。タイトル・本文・レビュアー・ラベルを事前定義し、開発フローを標準化。

#!/bin/bash
# pr-create.sh
gh pr create \
  --title "feat: $1" \
  --body-file .github/pr_template.md \
  --reviewer @team/backend \
  --label "enhancement,review-needed" \
  --milestone "v2.0"

ステップ3: CI/CD 連携とレビュー自動化

GitHub Actions と gh を組み合わせ、PR チェック結果に基づく自動マージを実装。テスト成功 + 承認数条件でマージ実行。

# .github/workflows/auto-merge.yml
- name: Auto-merge Dependabot PRs
  if: github.actor == 'dependabot[bot]'
  run: |
    gh pr review --approve "$PR_URL"
    gh pr merge --auto --squash "$PR_URL"
  env:
    PR_URL: ${{ github.event.pull_request.html_url }}

よくある落とし穴と対処

症状原因即時対処
gh: command not foundCLI 未インストールbrew install gh または apt/yum で導入
authentication requiredトークン期限切れgh auth refresh で再認証
PR 作成失敗ブランチ保護設定--draft オプションで下書き作成
詳細設定(高度最適化) ### カスタム PR テンプレート活用 `.github/pull_request_template.md` に定型フォーマットを配置し、`--body-file` で参照。チェックリスト・影響範囲・テスト項目を標準化。 ### 複数リポジトリ一括操作
# repos.txt にリポジトリリスト記載
cat repos.txt | xargs -I {} gh pr list --repo {}
### PR レビューコメント自動化
gh pr review --comment --body "LGTM! CI passed."

次に読む(関連 1〜2 本)