2.3 KiB
2.3 KiB
System hooks
All methods require admin authorization.
The URL endpoint of the system hooks can also be configured using the UI in the admin area under hooks.
List system hooks
Get a list of all system hooks.
GET /hooks
curl -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/hooks
Example response:
[
{
"id" : 1,
"url" : "https://gitlab.example.com/hook",
"created_at" : "2015-11-04T20:07:35.874Z"
}
]
Add new system hook
POST /hooks
| Attribute | Type | Required | Description |
|---|---|---|---|
url |
string | yes | The hook URL |
curl -X POST -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v3/hooks?url=https://gitlab.example.com/hook"
Example response:
[
{
"id" : 2,
"url" : "https://gitlab.example.com/hook",
"created_at" : "2015-11-04T20:07:35.874Z"
}
]
Test system hook
GET /hooks/:id
| Attribute | Type | Required | Description |
|---|---|---|---|
id |
integer | yes | The ID of the hook |
curl -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/hooks/2
Example response:
{
"project_id" : 1,
"owner_email" : "example@gitlabhq.com",
"owner_name" : "Someone",
"name" : "Ruby",
"path" : "ruby",
"event_name" : "project_create"
}
Delete system hook
Deletes a system hook. This is an idempotent API function and returns 200 OK
even if the hook is not available. If the hook is deleted a JSON object is
returned.
DELETE /hooks/:id
| Attribute | Type | Required | Description |
|---|---|---|---|
id |
integer | yes | The ID of the hook |
curl -X DELETE -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/hooks/2
Example response:
{
"note_events" : false,
"project_id" : null,
"enable_ssl_verification" : true,
"url" : "https://gitlab.example.com/hook",
"updated_at" : "2015-11-04T20:12:15.931Z",
"issues_events" : false,
"merge_requests_events" : false,
"created_at" : "2015-11-04T20:12:15.931Z",
"service_id" : null,
"id" : 2,
"push_events" : true,
"tag_push_events" : false
}