Help Center/ CodeArts Repo/ API Reference/ APIs/ V4/ MergeRequest/ Creating a Merge Request Template
Updated on 2026-01-27 GMT+08:00

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

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

repository_id

Yes

Integer

Definition

You can query the project list to obtain the repository ID by calling the API used to query user's all repositories.

Constraints

N/A

Default Value

N/A

Value range:

1~2147483647

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token. Obtain one by calling the IAM API Obtaining a User Token. The value of X-Subject-Token in the response header is a token.

Constraints

N/A

Range

1–100,000 characters.

Default Value

N/A

Table 3 Request body parameters

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

Table 4 Response body parameters

Parameter

Type

Description

id

Integer

Definition

Primary key ID of an MR template.

Value range:

1~2147483647

repository_id

Integer

Definition:

Repository ID.

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.

Table 5 UserBasicDto

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:

  • active: available account

  • blocked: locked user

  • error: The user is not found

Enumeration values:

  • active

  • blocked

  • error

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

email

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

Table 6 Response body parameters

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.