gitlab-mr について
`glab` コマンドラインで GitLab のマージリクエストを扱う開発者向けスキルです。確認やレビューからマージ、クローズまでの操作を、リスク情報や一般的なワークフローとともに説明します。
主な機能
- 01マージリクエストの一覧と詳細表示
- 02リクエストの作成、更新、ブランチのチェックアウト
- 03レビュー、承認、コメントの追加
- 04マージ、クローズ、再オープン、リベース
- 05担当者、状態、ラベルによる絞り込み
活用シーン
- 01レビュー待ちのリクエストを確認し、ブランチをチェックアウトしてテスト
- 02ドラフトのマージリクエストを作成し、レビュアーを指定
- 03パイプライン成功後のマージを予約
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ grandcamel/ gitlab-assistant-skills --skill gitlab-mrインストール後、Claude Code で/gitlab-mrを入力して読み込まれたか確認します。
詳細
マージリクエストのスキル
glab CLI を使用した GitLab のマージリクエスト操作です。
クイックリファレンス
| 操作 | コマンド | リスク |
|---|---|---|
| MR の一覧表示 | glab mr list | - |
| MR の表示 | glab mr view <id> | - |
| MR の作成 | glab mr create | ⚠️ |
| MR のチェックアウト | glab mr checkout <id> | - |
| MR の承認 | glab mr approve <id> | ⚠️ |
| MR のマージ | glab mr merge <id> | ⚠️⚠️ |
| MR の更新 | glab mr update <id> | ⚠️ |
| MR のクローズ | glab mr close <id> | ⚠️ |
| MR の再オープン | glab mr reopen <id> | ⚠️ |
| MR の削除 | glab mr delete <id> | ⚠️⚠️ |
| MR のリベース | glab mr rebase <id> | ⚠️ |
リスクの凡例:- 安全 | ⚠️ 注意 | ⚠️⚠️ 警告 | ⚠️⚠️⚠️ 危険
このスキルを使用する場合
必ず使用する場合:
- ユーザーがマージリクエストでの作業を希望している
- ユーザーが「MR」、「merge request」、「pull request」または関連する用語に言及している
- ユーザーがコードのレビュー、承認、またはマージを希望している
使用しない場合:
- ユーザーが10件以上のMRに対する一括操作を希望している(代わりに gitlab-bulk を使用)
- ユーザーがMRの検索やフィルタリングのみを希望している(代わりに gitlab-search を使用)
利用可能なコマンド
マージリクエストの一覧表示
glab mr list [options]
オプション:
| フラグ | 説明 |
|---|---|
--assignee=@me | 担当者でフィルタリングします(自分自身の場合は @me を使用) |
--reviewer=@me | レビュアーでフィルタリングします |
--author=<username> | 作成者でフィルタリングします |
--label=<labels> | カンマ区切りのラベルでフィルタリングします |
--state=<state> | 状態でフィルタリングします:opened、closed、merged、all |
--source-branch=<branch> | ソースブランチでフィルタリングします |
--target-branch=<branch> | ターゲットブランチでフィルタリングします |
-P, --per-page=<n> | 1ページあたりの項目数 |
例:
# List MRs assigned to you
glab mr list --assignee=@me
# List review requests for you
glab mr list --reviewer=@me
# List open MRs with specific label
glab mr list --state=opened --label=bug
# List MRs targeting main branch
glab mr list --target-branch=main
マージリクエストの詳細を表示
glab mr view <id> [options]
オプション:
| フラグ | 説明 |
|---|---|
-w, --web | ブラウザーでMRを開きます |
-c, --comments | MRのコメントとノートを表示します |
-s, --system-logs | システムのアクティビティ/ログを表示します |
例:
# View MR details in terminal
glab mr view 123
# Open MR in browser
glab mr view 123 --web
# View MR with comments
glab mr view 123 --comments
マージリクエストの作成
glab mr create [options]
オプション:
| フラグ | 説明 |
|---|---|
-t, --title=<title> | MRのタイトル |
-d, --description=<desc> | MRの説明 |
-b, --target-branch=<branch> | ターゲットブランチ(デフォルト:デフォルトブランチ) |
-f, --fill | コミットメッセージをタイトル/説明に使用します |
--draft | ドラフトMRとして作成します |
-a, --assignee=<users> | カンマ区切りの担当者 |
-r, --reviewer=<users> | カンマ区切りのレビュアー |
-l, --label=<labels> | カンマ区切りのラベル |
-m, --milestone=<milestone> | マイルストーンのタイトル |
--squash-on-merge | マージ時にコミットをスカッシュします |
--remove-source-branch | マージ時にソースブランチを削除します |
-w, --web | 作成したMRをブラウザーで開きます |
-y, --yes | 確認プロンプトをスキップします |
例:
# Create MR with title and description
glab mr create -t "Add new feature" -d "This MR adds..."
# Create MR from commit messages
glab mr create --fill
# Create draft MR
glab mr create --draft -t "WIP: New feature"
# Create MR with reviewers and labels
glab mr create -t "Fix bug" -r "reviewer1,reviewer2" -l "bug,urgent"
# Create MR and open in browser
glab mr create -t "Feature" --web
マージリクエストのブランチをチェックアウト
glab mr checkout <id> [options]
ショートカット: glab co <id>
オプション:
| フラグ | 説明 |
|---|---|
-b, --branch=<name> | ローカルブランチ名 |
-t, --track | リモートブランチのトラッキングを設定します |
例:
# Checkout MR branch
glab mr checkout 123
# Checkout with custom local branch name
glab mr checkout 123 -b my-local-branch
# Shortcut
glab co 123
マージリクエストの承認/承認取り消し
# Approve MR
glab mr approve <id>
# Revoke approval
glab mr revoke <id>
# View approvers
glab mr approvers <id>
マージ/クローズ/再オープン
# Merge MR
glab mr merge <id> [options]
# Close MR
glab mr close <id>
# Reopen closed MR
glab mr reopen <id>
マージオプション:
| フラグ | 説明 |
|---|---|
-s, --squash | コミットをスカッシュします |
-d, --remove-source-branch | マージ後にソースブランチを削除します |
--when-pipeline-succeeds | パイプラインが成功したときにマージします |
-m, --message=<msg> | カスタムのマージコミットメッセージ |
-y, --yes | 確認をスキップします |
例:
# Merge with squash
glab mr merge 123 --squash
# Merge and delete source branch
glab mr merge 123 --remove-source-branch
# Auto-merge when pipeline succeeds
glab mr merge 123 --when-pipeline-succeeds
マージリクエストの更新
glab mr update <id> [options]
オプション:
| フラグ | 説明 |
|---|---|
-t, --title=<title> | タイトルを更新します |
-d, --description=<desc> | 説明を更新します |
-a, --assignee=<users> | 担当者を更新します |
-r, --reviewer=<users> | レビュアーを更新します |
-l, --label=<labels> | ラベルを更新します |
--unlabel=<labels> | ラベルを削除します |
--draft | ドラフトとして設定します |
--ready | レディとして設定します(ドラフト状態を解除) |
--lock-discussion | ディスカッションをロックします |
--unlock-discussion | ディスカッションのロックを解除します |
例:
# Update title
glab mr update 123 -t "New title"
# Add reviewers
glab mr update 123 -r "user1,user2"
# Mark as ready (remove draft)
glab mr update 123 --ready
# Add and remove labels
glab mr update 123 -l "approved" --unlabel "needs-review"
ノート/コメントの追加
glab mr note <id> -m "<message>"
例:
# Add comment
glab mr note 123 -m "LGTM!"
# Add closing note
glab mr note 123 -m "Closing because !456 supersedes this"
マージリクエストのリベース
glab mr rebase <id>
差分の表示
glab mr diff <id> [options]
オプション:
| フラグ | 説明 |
|---|---|
--color=<when> | 色を表示するタイミング:always、never、auto |
購読/購読解除
# Subscribe to MR notifications
glab mr subscribe <id>
# Unsubscribe
glab mr unsubscribe <id>
Todo への追加
glab mr todo <id>
よく使うワークフロー
ワークフロー 1:レビューして承認する
# 1. List MRs assigned for review
glab mr list --reviewer=@me
# 2. View MR details
glab mr view 123
# 3. Checkout to test locally
glab mr checkout 123
# 4. Run tests, review code...
# 5. Approve if good
glab mr approve 123
# 6. Add comment
glab mr note 123 -m "Reviewed and approved. Great work!"
ワークフロー 2:機能のマージリクエストを作成する
# 1. Create branch and make changes
git checkout -b feature/my-feature
# 2. Commit changes
git add . && git commit -m "Add new feature"
# 3. Push branch
git push -u origin feature/my-feature
# 4. Create MR
glab mr create -t "Add new feature" -d "Description..." --draft
# 5. Mark ready when done
glab mr update <id> --ready
ワークフロー 3:簡単な修正
# Create MR from current branch with commit info
glab mr create --fill --yes
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| 認証に失敗しました | トークンが無効または期限切れです | glab auth login を実行します |
| マージリクエストが見つかりません | ID が無効、またはアクセス権がありません | glab mr list で ID を確認します |
| 権限が拒否されました | 権限が不足しています | プロジェクトの権限を確認します |
| マージできません | コンフリクトがあるか、パイプラインが失敗しました | コンフリクトを解決し、パイプラインの完了を待ちます |
| ブランチが見つかりません | ソースブランチが削除されています | ブランチが存在するか確認します |
関連ドキュメント
コメント
Markdown 対応