mcpField
G
gitlab-mr

gitlab-mr

github.com/grandcamel開発4165 回インストール41 週間前に更新
リポジトリ

gitlab-mr について

`glab` コマンドラインで GitLab のマージリクエストを扱う開発者向けスキルです。確認やレビューからマージ、クローズまでの操作を、リスク情報や一般的なワークフローとともに説明します。

主な機能

  1. 01マージリクエストの一覧と詳細表示
  2. 02リクエストの作成、更新、ブランチのチェックアウト
  3. 03レビュー、承認、コメントの追加
  4. 04マージ、クローズ、再オープン、リベース
  5. 05担当者、状態、ラベルによる絞り込み

活用シーン

  1. 01レビュー待ちのリクエストを確認し、ブランチをチェックアウトしてテスト
  2. 02ドラフトのマージリクエストを作成し、レビュアーを指定
  3. 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, --commentsMRのコメントとノートを表示します
-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 を確認します
権限が拒否されました権限が不足していますプロジェクトの権限を確認します
マージできませんコンフリクトがあるか、パイプラインが失敗しましたコンフリクトを解決し、パイプラインの完了を待ちます
ブランチが見つかりませんソースブランチが削除されていますブランチが存在するか確認します

関連ドキュメント

コメント