Creating a Project Merge Request Template
Function
This API is used to create a project merge request template.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
URI
POST https://{hostURL}/v4/projects/{project_id}/merge-requests/templates
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| project_id | Yes | String | Definition: You can obtain the unique project identifier, 32-character UUID, by calling the API used to query the project list. Value range: 32 characters |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| X-Auth-Token | Yes | String | Definition User token. Obtain a token by calling the IAM API for obtaining a user token. The value of X-Subject-Token in the response header is the user token. Constraints Mandatory. Range 1–100,000 characters. Default Value N/A. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| template_name | Yes | String | Definition Template name. |
| merge_request_title | No | String | Definition MR title. (This parameter is valid when the MR title is not auto extracted.) |
| description | No | String | Definition Description. |
| auto_extract_mr_title | No | Integer | Definition Auto extract MR title. 0: not extract 1: extract commit message 2: extract the E2E ticket title Value range: 0~2 |
| is_wip | No | Boolean | Definition Whether to add [WIP] to the title. |
| is_default | No | Boolean | Definition Whether to set as the default template. |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| id | Integer | Definition Primary key ID of an MR template. Value range: 1~2147483647 |
| repository_id | Integer | Definition Repository ID. Value range: 1~2147483647 |
| description | String | Definition Description. |
| created_at | String | Definition Creation time. |
| updated_at | String | Definition Update time. |
| template_name | String | Definition Template name. |
| merge_request_title | String | Definition MR title. (This parameter is valid when the MR title is not auto extracted.) |
| is_default | Boolean | Definition Whether to set as the default template. |
| is_wip | Boolean | Definition Whether to add [WIP] to the title. |
| auto_extract_mr_title | Integer | Definition Auto extract MR title. 0: not extract 1: extract commit message 2: extract the E2E ticket title Value range: 0~2 |
| creator | UserBasicDto object | Definition Creator. |
| project_id | String | Definition: Project ID |
| Parameter | Type | Description |
|---|---|---|
| id | Integer | Definition User ID. Value range: 1~2147483647 |
| name | String | Definition Username. |
| username | String | Definition Username. |
| state | String | Definition: User status Value range: Enumeration values: |
| service_license_status | Integer | Service-level permission status. 0: disabled; 1: enabled |
| avatar_url | String | User profile picture URL |
| avatar_path | String | User profile picture path |
| | String | User email |
| name_cn | String | Username (CN) |
| web_url | String | User homepage |
| nick_name | String | User alias |
| tenant_name | String | Tenant name |
| error_message | String | Definition When some query APIs detect that the user permission in the transfer parameter is insufficient or the user does not exist, the user is returned but the field is not empty for information. |
Status code: 401
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition Error code. |
| error_msg | String | Definition Error message. |
Example Requests
/v4/projects/4f96a4f00f17466bab756a2379236c85/merge-requests/templates
{
"template_name" : "name",
"merge_request_title" : "title",
"description" : "description",
"auto_extract_mr_title" : 0,
"is_wip" : true,
"is_default" : true
} Example Responses
Status code: 200
OK
{
"id" : 2278,
"project_id" : "4f96a4f00f17466bab756a2379236c85",
"description" : "description",
"created_at" : "2025-03-06T19:56:21.000+08:00",
"updated_at" : "2025-03-06T19:56:21.000+08:00",
"template_name" : "name",
"merge_request_title" : "title",
"is_default" : true,
"is_wip" : true,
"auto_extract_mr_title" : 0,
"creator" : {
"id" : 9124,
"name" : "example_name",
"username" : "c369c68f1ff84679b5a8ed904d8bff1c",
"state" : "active",
"avatar_url" : null,
"email" : "liujian@example.com",
"name_cn" : "example_name",
"web_url" : "https://example.com/c369c68f1ff84679b5a8ed904d8bff1c",
"nick_name" : "dev",
"tenant_name" : "example_name"
}
} Status code: 401
Unauthorized
{
"error_code" : "DEV.00000003",
"error_msg" : "Authentication information expired."
} Status Codes
| Status Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.