create_merge_request
Open a merge request from an existing source branch to a target branch in GitLab, setting title, description, labels, reviewers, assignees, and draft status.
Instructions
Create a new merge request. Open a merge request from an existing source branch to a target. Use update_merge_request after it exists.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"project_id": "<project_id>",
"title": "<title>",
"source_branch": "<source_branch>",
"target_branch": "<target_branch>"
},
"name": "create_merge_request"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| draft | No | Create as draft | |
| title | Yes | Merge request title | |
| labels | No | MR labels | |
| squash | No | Squash commits on merge | |
| jmespath | No | Optional JMESPath expression filtering the JSON result before return. | |
| project_id | Yes | Project ID or complete URL-encoded path to project | |
| description | No | Merge request description | |
| assignee_ids | No | Assignee user IDs | |
| reviewer_ids | No | Reviewer user IDs | |
| source_branch | Yes | Source branch | |
| target_branch | Yes | Target branch | |
| target_project_id | No | Target project numeric ID | |
| allow_collaboration | No | Allow eligible upstream members to push to the fork source branch | |
| remove_source_branch | No | Remove source branch on merge |