Updated on 2023-07-19 GMT+08:00

Creating a Project Hook

Function

This API is used to create a project hook.

URI

POST /v1/{project_id}/git/repos/{namespace}/{project}/hooks

Table 1 describes the parameters.

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Tenant's project ID. See Obtaining a Project ID.

namespace

Yes

String

Namespace ID or URL code name. See Obtaining a Repository Namespace.

project

Yes

String

Repository project ID or URL code name. If the value contains a slash (/), replace it with a colon (:). See Obtaining All Projects in a Namespace.

Request

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

Message body type or format.

X-Auth-Token

Yes

String

API calling can be authenticated using a token or AK/SK. If you use a token, this parameter is mandatory and must be set to the token. For details about how to obtain a token, see Obtaining a User Token.

X-Repo-Auth

Yes

String

Authorization name. See Obtaining a Git Repository Authorization List.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

secret

Yes

String

Character string used to verify received payloads.

url

Yes

String

URL that is called back when a hook is triggered.

Response

Table 4 Response parameters

Parameter

Type

Description

id

String

Hook ID.

type

String

Hook type.

callback_url

String

Callback URL.

Example Request

Create a project hook, verify the secrete parameter of the received payloads string, and set the callback URL to https://example.com/webhook when the hook is triggered.

{
  "secret": "**********",
  "url": "https://example.com/webhook"
}

Example Response

{
  "id": "1573",
  "type": "github",
  "callback_url": "https://example.com/webhook"
}

Status Code

Table 5 Status codes

HTTP Status Code

Description

200

OK

400

Bad Request

Error Code

The error code format is SVCSTG.REPO.[Error_ID], for example, SVCSTG.REPO.0401. For details, see ServiceStage Error Codes.