Files

2.9 KiB

Webhooks API reference

Base: https://git.mpm.to/api/v1

Gitea supports webhooks at the repository and organization level.

List webhooks for a repository

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

curl -s -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/hooks/{id}"

Create a webhook on a repository

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

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

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)

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.

# 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"