2017-01-25 05:37:35 -05:00
|
|
|
-
|
|
|
|
id: 1
|
|
|
|
repo_id: 1
|
|
|
|
url: www.example.com/url1
|
|
|
|
content_type: 1 # json
|
|
|
|
events: '{"push_only":true,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":false}}'
|
|
|
|
is_active: true
|
|
|
|
|
|
|
|
-
|
|
|
|
id: 2
|
|
|
|
repo_id: 1
|
|
|
|
url: www.example.com/url2
|
|
|
|
content_type: 1 # json
|
|
|
|
events: '{"push_only":false,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}'
|
|
|
|
is_active: false
|
|
|
|
|
|
|
|
-
|
|
|
|
id: 3
|
2023-03-10 15:28:32 +01:00
|
|
|
owner_id: 3
|
2017-01-25 05:37:35 -05:00
|
|
|
repo_id: 3
|
|
|
|
url: www.example.com/url3
|
|
|
|
content_type: 1 # json
|
|
|
|
events: '{"push_only":false,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}'
|
|
|
|
is_active: true
|
Let API create and edit system webhooks, attempt 2 (#33180)
This PR fixes inconsistencies between system and default webhooks in the
Gitea API. (See also #26418)
- A system webhook is a webhook that captures events for all
repositories.
- A default webhook is copied to a new repository when it is created.
Before this PR `POST /api/v1/admin/hooks/` creates default webhooks (if
not configured otherwise) and `GET /api/v1/admin/hooks/` returns system
webhooks.
The PR introduces an optional query parameter to `GET
/api/v1/admin/hooks/` to enable selecting if either default, system or
both kind of webhooks should be retrieved. By default the flag is set to
return system webhooks keep current behaviour.
## Examples
### System Webhooks
#### Create
```
POST /api/v1/admin/hooks/
{
"type": "gitea",
"active": false,
"branch_filter": "*",
"events": [ "create", "..." ],
"config": {
"url": "http://...",
"content_type": "json",
"secret": "secret",
"is_system_webhook": true // <-- controls hook type
}
}
```
#### List
```
GET/api/v1/admin/hooks?type=system //type argument is optional here since it's the default
```
#### Others
The other relevant endpoints work as expected by referencing the hook by
id
```
GET /api/v1/admin/hooks/:id
PATCH /api/v1/admin/hooks/:id
DELETE /api/v1/admin/hooks/:id
```
### Default Webhooks
#### Create
```
POST /api/v1/admin/hooks/
{
"type": "gitea",
"active": false,
"branch_filter": "*",
"events": [ "create", "..." ],
"config": {
"url": "http://...",
"content_type": "json",
"secret": "secret",
"is_system_webhook": false // optional, as false is the default value
}
}
```
#### List
```
GET/api/v1/admin/hooks?type=default
```
#### Others
The other relevant endpoints work as expected by referencing the hook by
id
```
GET /api/v1/admin/hooks/:id
PATCH /api/v1/admin/hooks/:id
DELETE /api/v1/admin/hooks/:id
```
2025-01-13 18:17:39 +01:00
|
|
|
|
2019-09-09 08:48:21 +03:00
|
|
|
-
|
|
|
|
id: 4
|
|
|
|
repo_id: 2
|
|
|
|
url: www.example.com/url4
|
|
|
|
content_type: 1 # json
|
|
|
|
events: '{"push_only":true,"branch_filter":"{master,feature*}"}'
|
|
|
|
is_active: true
|
Let API create and edit system webhooks, attempt 2 (#33180)
This PR fixes inconsistencies between system and default webhooks in the
Gitea API. (See also #26418)
- A system webhook is a webhook that captures events for all
repositories.
- A default webhook is copied to a new repository when it is created.
Before this PR `POST /api/v1/admin/hooks/` creates default webhooks (if
not configured otherwise) and `GET /api/v1/admin/hooks/` returns system
webhooks.
The PR introduces an optional query parameter to `GET
/api/v1/admin/hooks/` to enable selecting if either default, system or
both kind of webhooks should be retrieved. By default the flag is set to
return system webhooks keep current behaviour.
## Examples
### System Webhooks
#### Create
```
POST /api/v1/admin/hooks/
{
"type": "gitea",
"active": false,
"branch_filter": "*",
"events": [ "create", "..." ],
"config": {
"url": "http://...",
"content_type": "json",
"secret": "secret",
"is_system_webhook": true // <-- controls hook type
}
}
```
#### List
```
GET/api/v1/admin/hooks?type=system //type argument is optional here since it's the default
```
#### Others
The other relevant endpoints work as expected by referencing the hook by
id
```
GET /api/v1/admin/hooks/:id
PATCH /api/v1/admin/hooks/:id
DELETE /api/v1/admin/hooks/:id
```
### Default Webhooks
#### Create
```
POST /api/v1/admin/hooks/
{
"type": "gitea",
"active": false,
"branch_filter": "*",
"events": [ "create", "..." ],
"config": {
"url": "http://...",
"content_type": "json",
"secret": "secret",
"is_system_webhook": false // optional, as false is the default value
}
}
```
#### List
```
GET/api/v1/admin/hooks?type=default
```
#### Others
The other relevant endpoints work as expected by referencing the hook by
id
```
GET /api/v1/admin/hooks/:id
PATCH /api/v1/admin/hooks/:id
DELETE /api/v1/admin/hooks/:id
```
2025-01-13 18:17:39 +01:00
|
|
|
|
|
|
|
-
|
|
|
|
id: 5
|
|
|
|
repo_id: 0
|
|
|
|
owner_id: 0
|
|
|
|
url: www.example.com/url5
|
|
|
|
content_type: 1 # json
|
|
|
|
events: '{"push_only":true,"branch_filter":"{master,feature*}"}'
|
|
|
|
is_active: true
|
|
|
|
is_system_webhook: true
|
|
|
|
|
|
|
|
-
|
|
|
|
id: 6
|
|
|
|
repo_id: 0
|
|
|
|
owner_id: 0
|
|
|
|
url: www.example.com/url6
|
|
|
|
content_type: 1 # json
|
|
|
|
events: '{"push_only":true,"branch_filter":"{master,feature*}"}'
|
|
|
|
is_active: true
|
|
|
|
is_system_webhook: false
|