2014-05-27 12:12:15 +00:00
|
|
|
# System hooks
|
|
|
|
|
2016-01-24 19:19:46 +00:00
|
|
|
All methods require administrator authorization.
|
2014-03-14 18:53:43 +00:00
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
The URL endpoint of the system hooks can also be configured using the UI in
|
2016-01-24 19:19:46 +00:00
|
|
|
the admin area under **Hooks** (`/admin/hooks`).
|
|
|
|
|
|
|
|
Read more about [system hooks](../system_hooks/system_hooks.md).
|
2014-03-14 18:53:43 +00:00
|
|
|
|
|
|
|
## List system hooks
|
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
Get a list of all system hooks.
|
2014-03-14 18:53:43 +00:00
|
|
|
|
2016-01-24 19:19:46 +00:00
|
|
|
---
|
|
|
|
|
2014-03-14 18:53:43 +00:00
|
|
|
```
|
|
|
|
GET /hooks
|
|
|
|
```
|
|
|
|
|
2016-01-24 19:19:46 +00:00
|
|
|
Example request:
|
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
```bash
|
2016-08-08 07:47:17 +00:00
|
|
|
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/hooks
|
2016-01-18 08:45:50 +00:00
|
|
|
```
|
2014-03-14 18:53:43 +00:00
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
Example response:
|
2014-03-14 18:53:43 +00:00
|
|
|
|
|
|
|
```json
|
|
|
|
[
|
2016-10-19 14:08:30 +00:00
|
|
|
{
|
|
|
|
"id":1,
|
|
|
|
"url":"https://gitlab.example.com/hook",
|
|
|
|
"created_at":"2016-10-31T12:32:15.192Z",
|
|
|
|
"push_events":true,
|
|
|
|
"tag_push_events":false,
|
|
|
|
"enable_ssl_verification":true
|
|
|
|
}
|
2014-03-14 18:53:43 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
## Add new system hook
|
2014-03-14 18:53:43 +00:00
|
|
|
|
2016-01-24 19:19:46 +00:00
|
|
|
Add a new system hook.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
2014-03-14 18:53:43 +00:00
|
|
|
```
|
|
|
|
POST /hooks
|
|
|
|
```
|
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
| Attribute | Type | Required | Description |
|
|
|
|
| --------- | ---- | -------- | ----------- |
|
|
|
|
| `url` | string | yes | The hook URL |
|
2016-10-19 14:08:30 +00:00
|
|
|
| token | string | no | The token to validate payloads |
|
|
|
|
| push_events | boolean | no | When true, the hook will fire on push events |
|
|
|
|
| tag_push_events | boolean | no | When true, the hook will fire on new tags being pushed |
|
|
|
|
| enable_ssl_verification | boolean | no | Do SSL verification when triggering the hook |
|
2016-01-18 08:45:50 +00:00
|
|
|
|
2016-01-24 19:19:46 +00:00
|
|
|
Example request:
|
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
```bash
|
2016-08-08 07:47:17 +00:00
|
|
|
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v3/hooks?url=https://gitlab.example.com/hook"
|
2016-01-18 08:45:50 +00:00
|
|
|
```
|
2014-03-14 18:53:43 +00:00
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
Example response:
|
|
|
|
|
|
|
|
```json
|
|
|
|
[
|
2016-10-19 14:08:30 +00:00
|
|
|
{
|
|
|
|
"id":1,
|
|
|
|
"url":"https://gitlab.example.com/hook",
|
|
|
|
"created_at":"2016-10-31T12:32:15.192Z",
|
|
|
|
"push_events":true,
|
|
|
|
"tag_push_events":false,
|
|
|
|
"enable_ssl_verification":true
|
|
|
|
}
|
2016-01-18 08:45:50 +00:00
|
|
|
]
|
|
|
|
```
|
2014-03-14 18:53:43 +00:00
|
|
|
|
|
|
|
## Test system hook
|
|
|
|
|
|
|
|
```
|
|
|
|
GET /hooks/:id
|
|
|
|
```
|
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
| Attribute | Type | Required | Description |
|
|
|
|
| --------- | ---- | -------- | ----------- |
|
|
|
|
| `id` | integer | yes | The ID of the hook |
|
2014-03-14 18:53:43 +00:00
|
|
|
|
2016-01-24 19:19:46 +00:00
|
|
|
Example request:
|
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
```bash
|
2016-08-08 07:47:17 +00:00
|
|
|
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/hooks/2
|
2016-01-18 08:45:50 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Example response:
|
2014-03-14 18:53:43 +00:00
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
2016-01-18 08:45:50 +00:00
|
|
|
"project_id" : 1,
|
|
|
|
"owner_email" : "example@gitlabhq.com",
|
|
|
|
"owner_name" : "Someone",
|
|
|
|
"name" : "Ruby",
|
|
|
|
"path" : "ruby",
|
|
|
|
"event_name" : "project_create"
|
2014-03-14 18:53:43 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Delete system hook
|
|
|
|
|
2016-10-13 17:32:10 +00:00
|
|
|
Deletes a system hook. It returns `200 OK` if the hooks is deleted and
|
|
|
|
`404 Not Found` if the hook is not found.
|
2016-01-24 19:19:46 +00:00
|
|
|
|
|
|
|
---
|
2014-03-14 18:53:43 +00:00
|
|
|
|
|
|
|
```
|
|
|
|
DELETE /hooks/:id
|
|
|
|
```
|
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
| Attribute | Type | Required | Description |
|
|
|
|
| --------- | ---- | -------- | ----------- |
|
|
|
|
| `id` | integer | yes | The ID of the hook |
|
|
|
|
|
2016-01-24 19:19:46 +00:00
|
|
|
Example request:
|
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
```bash
|
2016-08-08 07:47:17 +00:00
|
|
|
curl --request DELETE --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/hooks/2
|
2016-01-18 08:45:50 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Example response:
|
2014-03-14 18:53:43 +00:00
|
|
|
|
2016-01-18 08:45:50 +00:00
|
|
|
```json
|
|
|
|
{
|
|
|
|
"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
|
|
|
|
}
|
|
|
|
```
|