Receber por email
← Voltar para o catálogo

gitlab:merge-request

Working with GitLab merge requests via glab. Use when creating, updating, reviewing, or merging MRs, enabling auto-merge or merge trains, requesting or re-requesting reviewers, handling approvals, or working review threads, discussions, and draft notes. Load before running any `glab mr` or MR-mutating `glab api` command.

15estrelas
Atualizado há 3 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add bendrucker/claude

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/gitlab-merge-request/svg)](https://www.skillteca.com.br/skills/gitlab-merge-request)

Skills relacionadas

Ver todas de Marketing →

Alerta por categoria

Receba novas skills de Marketing toda segunda

1 email curto, só com as skills novas de Marketing. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Merge Requests

Working with GitLab merge requests via glab mr.

Scripts directory (absolute, for invocations from other skills where ${CLAUDE_SKILL_DIR} points elsewhere): !mkdir -p /tmp/claude/gitlab-skill 2>/dev/null; touch "/tmp/claude/gitlab-skill/${CLAUDE_SESSION_ID}" 2>/dev/null; echo "${CLAUDE_SKILL_DIR}/scripts"

Arguments

$0 (optional verb) routes to a section below. With no verb, infer the operation from the request.

  • create: open an MR. See [Patterns](#patterns). --draft opens it as a draft (glab mr create --draft).
  • merge: merge the MR. See [Merging](#merging). --auto enables auto-merge (merge.ts --auto-merge).
  • review: review MRs. See [Reviews](#reviews). --role reviewer (default) fetches MRs awaiting your review; --role author triages threads on MRs you authored.
  • discussions: work MR discussion threads. See [Discussions](#discussions).
  • block: block an MR until another merges. See [Blocking](#blocking).

Flag defaults: --draft off, --auto off, --role reviewer.

Merging

Always use merge.ts to merge. It handles merge trains, auto-merge, and squash, falling back to glab mr merge internally when appropriate.

bun ${CLAUDE_PLUGIN_ROOT}/scripts/merge.ts
bun ${CLAUDE_PLUGIN_ROOT}/scripts/merge.ts --auto-merge
bun ${CLAUDE_PLUGIN_ROOT}/scripts/merge.ts feature-branch --auto-merge --squash

Re-Arm Auto-Merge After a Push

Pushing new commits cancels queued auto-merge and drops the MR from the merge train. GitLab does this deliberately so the new commits get a fresh pipeline and review. To keep auto-merge, re-run merge.ts --auto-merge after every push that intends to stay armed. The script is idempotent: it treats an already-armed MR as success and retries through the brief approvals_syncing window that follows a push, so re-running it is always safe.

A push also resets approvals when reset_approvals_on_push is on. Re-trigger review in the same pass, see [Re-request reviewers](#re-request-reviewers).

Inspect or Recover a Train

To inspect the active train or clear a stuck entry via the API (glab has no merge-train command), see [merge-trains.md](merge-trains.md).

Patterns

Always push before creating:

git push -u origin feature-branch && glab mr create --fill

Draft MRs: Use --draft to prevent accidental merges.

Auto-fill vs custom: --fill auto-populates from commits but cannot combine with --title/--description. Choose one approach.

Body from file: No --body-file flag; use --description "$(cat file.md)".

Username resolution: Flags like --reviewer and --assignee require exact usernames; invalid names are silently ignored. Look up users first:

glab api projects/:id/members/all --paginate | jq '.[] | select(.name | test("<name>"; "i")) | {name, username}'

Blocking

Block an MR from merging until another MR merges first (block verb). See [blocking.md](blocking.md) for the REST API commands.

Reviews

Submit review feedback as draft notes that accumulate before publishing. See [review.md](review.md) for the draft notes workflow, code suggestions, and approvals.

Fetch MRs awaiting your first review across all projects (the UNREVIEWED bucket; REST's scope=reviews_for_me cannot filter by review state). Emits [{ url, reference, title }] as JSON:

bun ${CLAUDE_SKILL_DIR}/scripts/review-queue.ts

See [review-state.md](review-state.md) for the underlying GraphQL query and filter.

To group all your review-requested MRs by next actor (not just the UNREVIEWED slice), see [Review Inbox (Next-Actor Triage)](review-state.md#review-inbox-next-actor-triage) in review-state.md.

Re-request reviewers

Re-trigger a review after a push reset approvals. The mergeRequestReviewerRereview mutation flips the target's reviewState back to UNREVIEWED and re-surfaces the MR. The reviewer must already be assigned. See [Re-Request Review](review-state.md#re-request-review) for the user-ID lookup and exact mutation.

Discussions

Fetch, filter, resolve, and summarize MR discussion threads. See [discussions.md](discussions.md) for the discussions script, resolution workflow, and pagination pitfalls.

Stacking

glab stack manages stacked diffs, small changes that build on each other. See [stack.md](stack.md).

Compartilhar X LinkedIn