Creating a Merge Request Template
Function
This API is used to create a 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.
Authorization Information
Each account root user has all the permissions required to call all APIs, but IAM users must be assigned the following required identity policy-based permissions. For details about the required permissions, see Permissions Policies and Supported Actions.
| Action | Access Level | Resource Type (*: required) | Condition Key | Alias | Dependencies |
|---|---|---|---|---|---|
| codeartsrepo:repository:setRepository | Write | - | - | - | - |
URI
POST https://{hostURL}/v4/repositories/{repository_id}/merge-requests/templates
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| repository_id | Yes | Integer | Definition You can call the API used to query all repositories of the user to query the project list to obtain the repository ID. Constraints N/A Default Value N/A Value range: 1~2147483647 |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| X-Auth-Token | Yes | String | Definition User token. You can obtain the token by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. Constraints N/A Range A string that can contain 1 to 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 |
| 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. |
| repository_id | Integer | Definition: Repository ID. |
| from | MergeRequestTemplateFromDto object | Definition Template Source (In the inheritance scenario, the template may inherit settings from the upper-level code group or project; in the non-inheritance scenario, it is null). |
| 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. |
| Parameter | Type | Description |
|---|---|---|
| path | String | Definition Source URL. You can click the URL to go to the merge request template settings of the project, repository group, or repository. |
| type | String | Definition repository: Settings are from the repository. group: Settings are inherited from the repository group. project: Settings are inherited from the project. Enumeration values: |
| repository_id | Integer | Definition Repository ID, which is null when not sourced from a repository. |
| group_id | Integer | Definition Code group ID. If it does not come from a code group, it is null. |
| project_id | String | Definition Project ID. If it does not come from a project, it is null. |
Status code: 401
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition Error code. |
| error_msg | String | Definition Error message. |
Example Requests
/v4/repositories/123/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,
"repository_id" : 2111987241,
"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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot