ActionGitLabUpdated September 2026
How do I create a GitLab MR?
Short answer: You can create gitlab merge request in GitLab by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the GitLab Create GitLab Merge Request action to a workflow, map its 7 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.
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 |
Title title | string | Required | Title. Example: Fix login redirect |
Source Branch source_branch | string | Required | Source Branch. Example: fix/login |
Target Branch target_branch | string | Required | Target Branch. Example: main |
Description description | string | Optional | Description |
Assignee User ID assignee_id | string | Optional | Assignee User ID. Example: 5 |
Labels labels | string | Optional | Labels. Example: bug, review |
Sample request
{"project_id": "e.g. 123","title": "e.g. Fix login redirect","source_branch": "e.g. fix/login","target_branch": "e.g. main","description": "{{trigger.description}}"}
Returns
{"iid": 1,"state": "opened","title": "Fix login","web_url": "https://gitlab.com/group/project/-/merge_requests/1"}
Use these fields in downstream nodes for routing, logging, or error handling.
Triggered by
Apps that pair well as the trigger for Create GitLab Merge Request.
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about Create GitLab Merge Request.
What does the Create GitLab Merge Request action do in GitLab?
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).
What inputs does Create GitLab Merge Request require?
Required: Project ID or Path, Title, Source Branch, Target Branch. 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 run history shows the failed step with its input and the error message GitLab returned, so you can fix the input and run the workflow again. Automatic retries are built into HTTP steps only, where you can also set your own retry count and delay.
Does Create GitLab Merge Request support batch operations?
Run Create GitLab Merge Request inside a loop to process each item in an array. TinyCommand does not throttle calls for you, so for large arrays add a Delay step if you need to stay within GitLab's rate limits.
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.
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.
ActionList GitLab Issues
Paginated issues with filters by state, label, assignee, milestone, date. For "open critical issues" dashboards or per-engineer queue rollups.