Skip to content
ActionGitLabUpdated May 2026

How do I create a GitLab MR?

Short answer: Drop the "GitLabCreate GitLab Merge Request" 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.

FieldTypeRequiredDescription
Project ID or Path
project_id
stringRequiredProject ID or Path. Example: 123
Title
title
stringRequiredTitle. Example: Fix login redirect
Source Branch
source_branch
stringRequiredSource Branch. Example: fix/login
Target Branch
target_branch
stringRequiredTarget Branch. Example: main
Description
description
stringOptionalDescription
Assignee User ID
assignee_id
stringOptionalAssignee User ID. Example: 5
Labels
labels
stringOptionalLabels. 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 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 Create GitLab Merge Request support batch operations?
Yes. Run Create GitLab Merge Request 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.

Send create gitlab merge request from your workflows.

Triggered by anything in the catalog. Free tier available. No credit card.