Help Center/ CodeArts Repo/ API Reference/ APIs/ V4/ WebHook/ Adding a Webhook in a Repository
Updated on 2026-01-27 GMT+08:00

Adding a Webhook in a Repository

Function

This API is used to add a Webhook in a repository.

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:group:setGroup

Write

-

-

-

-

URI

POST https://{hostURL}/v4/groups/{group_id}/hooks

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

group_id

Yes

Integer

Definition

Repository group ID, which is the numeric ID next to Group ID on the repository group homepage.

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

url

No

String

Definition

Webhook URL.

Range

Mandatory. Max. 500 characters.

push_events

No

Boolean

Definition

Whether to enable the push event.

push_events_branch_regex_filter

No

String

Definition

Regular expression for push event branches filtering.

Range

Mandatory. Max. 500 characters.

note_plain_text_filter

No

Array of strings

Definition

Filtering rules of event comment text.

Range

0–50 characters for each string. Max. 10 strings.

tag_push_events

No

Boolean

Definition

Whether to enable the tag push event.

merge_requests_events

No

Boolean

Definition

Whether to enable the MR event.

note_events

No

Boolean

Definition

Whether to enable the comment event.

token

No

String

Definition

Token value. When it is used as the return value, the mask is used to replace the actual value.

Range

Mandatory. Max. 2,000 characters.

token_type

No

String

Definition

Token type. The default value is X-Repo-Token.

Range

Mandatory. Max. 200 characters.

name

No

String

Definition

Name.

Range

Mandatory. Max. 200 characters.

description

No

String

Definition

Description.

Range

Mandatory. Max. 200 characters.

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

url

String

Definition

Webhook URL.

Range

Mandatory. Max. 500 characters.

push_events

Boolean

Definition

Whether to enable the push event.

push_events_branch_regex_filter

String

Definition

Regular expression for push event branches filtering.

Range

Mandatory. Max. 500 characters.

note_plain_text_filter

Array of strings

Definition

Filtering rules of event comment text.

Range

0–50 characters for each string. Max. 10 strings.

tag_push_events

Boolean

Definition

Whether to enable the tag push event.

merge_requests_events

Boolean

Definition

Whether to enable the MR event.

note_events

Boolean

Definition

Whether to enable the comment event.

token

String

Definition

Token value. When it is used as the return value, the mask is used to replace the actual value.

Range

Mandatory. Max. 2,000 characters.

token_type

String

Definition

Token type. The default value is X-Repo-Token.

Range

Mandatory. Max. 200 characters.

name

String

Definition

Name.

Range

Mandatory. Max. 200 characters.

description

String

Definition

Description.

Range

Mandatory. Max. 200 characters.

id

Integer

Definition

Webhook ID.

Value range:

1~2147483647

created_at

String

Definition

Creation time.

Definition

yyyy-MM-dd'T'HH:mm:ss.SSSXXX

updated_at

String

Definition

Update time.

Definition

yyyy-MM-dd'T'HH:mm:ss.SSSXXX

service

String

Definition

Internal service name.

Status code: 401

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Status code: 403

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Example Requests

POST https://{endpoint}/v4/groups/1/hooks

{
  "url" : "https://demo1.com",
  "push_events" : true,
  "push_events_branch_regex_filter" : ".*",
  "tag_push_events" : true,
  "merge_requests_events" : false,
  "note_events" : false,
  "token" : "exampletoken",
  "token_type" : "X-Repo-Token",
  "name" : "Code check.",
  "description" : "Code check."
}

Example Responses

Status code: 201

OK

{
  "id" : 2,
  "url" : "https://demo1.com",
  "push_events" : true,
  "push_events_branch_regex_filter" : ".*",
  "tag_push_events" : true,
  "merge_requests_events" : false,
  "note_events" : false,
  "token" : "************",
  "token_type" : "X-Repo-Token",
  "name" : "Code check.",
  "description" : "Code check.",
  "created_at" : "2024-10-15T22:30:24.000+08:00",
  "updated_at" : "2024-10-15T22:30:24.000+08:00"
}

Status code: 401

Unauthorized

{
  "error_code" : "DEV.00000003",
  "error_msg" : "Authentication information expired."
}

Status code: 403

Bad Request

{
  "error_code" : "CH.004403",
  "error_msg" : "Insufficient permissions. Apply for the required permissions and try again."
}

Status Codes

Status Code

Description

201

OK

401

Unauthorized

403

Bad Request

Error Codes

See Error Codes.