- Integrations
- /
- GitLab
- /
- Actions
- /
- List GitLab Merge Requests
ActionGitLabUpdated May 2026
How do I list GitLab merge requests?
Short answer: Drop the "GitLab → List GitLab Merge Requests" action anywhere in your workflow, map the inputs from upstream nodes, and publish.
Inputs
The fields this action accepts.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Project ID or Path project_id | string | Required | Project ID or Path. Example: 123 |
State state | options | Optional | State. Options: Open, Merged, Closed, All |
Order By order_by | options | Optional | Order By. Options: Created, Updated |
Labels labels | string | Optional | Comma-separated label names |
Per Page per_page | string | Optional | Per Page. e.g. "20" |
Sample request
{"project_id": "e.g. 123","state": "{{trigger.state}}","order_by": "{{trigger.order_by}}","labels": "e.g. review, frontend","per_page": "20"}
Returns
[{"iid": 1,"state": "opened","title": "Fix login redirect","author": {"username": "johndoe"},"web_url": "https://gitlab.com/group/project/-/merge_requests/1","source_branch": "fix/login","target_branch": "main"}]
Use these fields in downstream nodes for routing, logging, or error handling.
Triggered by
Apps that pair well as the trigger for List GitLab Merge Requests.
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about List GitLab Merge Requests.
What does the List GitLab Merge Requests action do in GitLab?
Paginated MRs with state, target branch, author, reviewer filters. The base query for review-velocity reporting and for "MRs awaiting my review" daily nudges.
What inputs does List GitLab Merge Requests require?
Required: Project ID or Path. Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if GitLab returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does List GitLab Merge Requests support batch operations?
Yes. Run List GitLab Merge Requests inside a Loop node to process arrays. Tiny Command handles GitLab's rate limits automatically so you don't have to throttle manually.
More actions
Other GitLab actions.
Action
Add GitLab Comment
Posts a comment on an issue, merge request, or commit. For AI-code-review bots or for cross-tool sync ("Linear status changed → comment on the linked MR").
ActionCreate GitLab Issue
Files an issue with title, description, labels, assignees, milestone. For "Sentry error → file repo issue" or "support ticket marked bug → create issue" workflows.
ActionCreate GitLab Merge Request
Opens a new MR from source branch to target branch with title, description, reviewers, labels. For automation that auto-creates MRs from generated branches (dependabot-style).
ActionGet GitLab Issue
Returns an issue by ID with all metadata. The standard lookup for cross-system sync workflows that need fresh issue state.
ActionGet GitLab Project
Returns project metadata — name, namespace, visibility, default branch, recent activity. Useful for project inventory workflows.
ActionList GitLab Branches
Returns the project's branches with last commit info. Useful for "find stale branches for cleanup" maintenance workflows.
Send list gitlab merge requests from your workflows.
Triggered by anything in the catalog. Free tier available. No credit card.