gitlab-ce/doc/api/system_hooks.md

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
}