Add skills/gitea/references/webhooks.md
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
# Webhooks API reference
|
||||
|
||||
Base: `https://git.mpm.to/api/v1`
|
||||
|
||||
Gitea supports webhooks at the repository and organization level.
|
||||
|
||||
## List webhooks for a repository
|
||||
|
||||
```bash
|
||||
curl -s -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
|
||||
"https://git.mpm.to/api/v1/repos/{owner}/{repo}/hooks"
|
||||
```
|
||||
|
||||
Key response fields per hook: `id`, `type`, `active`, `events`, `config.url`, `config.content_type`, `created`, `updated`.
|
||||
|
||||
## Get a single webhook
|
||||
|
||||
```bash
|
||||
curl -s -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
|
||||
"https://git.mpm.to/api/v1/repos/{owner}/{repo}/hooks/{id}"
|
||||
```
|
||||
|
||||
## Create a webhook on a repository
|
||||
|
||||
```bash
|
||||
curl -s -X POST \
|
||||
-H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"type": "gitea",
|
||||
"active": true,
|
||||
"events": ["push", "issues", "pull_request", "release"],
|
||||
"config": {
|
||||
"url": "https://your-endpoint.example.com/webhook",
|
||||
"content_type": "json",
|
||||
"secret": "optional-secret"
|
||||
}
|
||||
}' \
|
||||
"https://git.mpm.to/api/v1/repos/{owner}/{repo}/hooks"
|
||||
```
|
||||
|
||||
Common event types:
|
||||
- `push` — commits pushed to any branch
|
||||
- `create` — branch or tag created
|
||||
- `delete` — branch or tag deleted
|
||||
- `fork` — repo forked
|
||||
- `issues` — issue opened/edited/closed/reopened
|
||||
- `issue_comment` — comment on an issue
|
||||
- `pull_request` — PR opened/edited/closed/merged
|
||||
- `pull_request_review` — PR review submitted
|
||||
- `release` — release published
|
||||
- `repository` — repo created/deleted/made public or private
|
||||
|
||||
## Update a webhook
|
||||
|
||||
```bash
|
||||
curl -s -X PATCH \
|
||||
-H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"active": true,
|
||||
"events": ["push", "release"],
|
||||
"config": {
|
||||
"url": "https://your-endpoint.example.com/webhook",
|
||||
"content_type": "json"
|
||||
}
|
||||
}' \
|
||||
"https://git.mpm.to/api/v1/repos/{owner}/{repo}/hooks/{id}"
|
||||
```
|
||||
|
||||
## Delete a webhook
|
||||
|
||||
```bash
|
||||
curl -s -X DELETE \
|
||||
-H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
|
||||
"https://git.mpm.to/api/v1/repos/{owner}/{repo}/hooks/{id}"
|
||||
```
|
||||
|
||||
Always confirm before deleting a webhook.
|
||||
|
||||
## Test a webhook (trigger a ping)
|
||||
|
||||
```bash
|
||||
curl -s -X POST \
|
||||
-H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
|
||||
"https://git.mpm.to/api/v1/repos/{owner}/{repo}/hooks/{id}/tests"
|
||||
```
|
||||
|
||||
## Organization-level webhooks
|
||||
|
||||
Same endpoints, but under `/orgs/{org}/hooks` instead of `/repos/{owner}/{repo}/hooks`.
|
||||
|
||||
```bash
|
||||
# List org webhooks
|
||||
curl -s -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
|
||||
"https://git.mpm.to/api/v1/orgs/{org}/hooks"
|
||||
|
||||
# Create org webhook
|
||||
curl -s -X POST \
|
||||
-H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"type":"gitea","active":true,"events":["push"],"config":{"url":"https://...","content_type":"json"}}' \
|
||||
"https://git.mpm.to/api/v1/orgs/{org}/hooks"
|
||||
```
|
||||
Reference in New Issue
Block a user