Публичный APIВебхуки2. POST /repos/{owner}/{repo}/hooks — создать вебхук для репозитория

2. POST /repos/{owner}/{repo}/hooks — создать вебхук для репозитория

Описание

Этот метод позволяет создать новый вебхук для указанного репозитория.

Параметры URL:

ПараметрОбязательныйОписание
ownerДаИмя владельца репозитория
repoДаНазвание репозитория

Параметры запроса:

Данный метод не требует параметров запроса.

Тело запроса:

Тело запроса должно содержать параметры вебхука в формате JSON.

ПолеТипОбязательныйОписание
activebooleanНетАктивен ли вебхук.
По-умолчанию: true
eventsarray of stringsДаСобытия, на которые будет реагировать вебхук.
По-умолчанию: ["push"]
configobjectДаКонфигурация вебхука

Поля конфигурации config:

ПолеТипОбязательныйОписание
urlstringДаURL, на который будут отправляться вебхуки
content_typestringНетТип контента
secretstringНетСекретный ключ для подписи запросов
http_methodstringНетHTTP метод для отправки.
По-умолчанию: POST

Пример запроса:

curl -X POST "https://api.gitverse.ru/repos/myuser/myrepo/hooks" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=latest" \
  -H "Content-Type: application/json" \
  -d '{
    "active": true,
    "events": ["push", "pull_request"],
    "config": {
      "url": "https://example.com/webhook",
      "content_type": "json",
      "secret": "secret_key"
    }
  }'

Требования

Убедитесь, что ключ API указан корректно и обладает необходимыми правами для доступа к репозиторию:
Репозитории -> Запись.

Ответ (201 Created):

Возвращает созданный вебхук.

{
  "id": 124,
  "active": true,
  "events": [
    "push",
    "pull_request"
  ],
  "config": {
    "url": "https://example.com/webhook",
    "content_type": "json",
    "secret": "secret_key"
  },
  "created_at": "2023-01-01T00:00:00Z",
  "updated_at": "2023-01-01T00:00:00Z",
  "last_response_status": ""
}

Поля ответа:

ПолеТипОписание
idintegerУникальный идентификатор вебхука
activebooleanАктивен ли вебхук
eventsarray of stringsСобытия, на которые реагирует вебхук
configobjectКонфигурация вебхука
created_atstringДата создания вебхука
updated_atstringДата последнего обновления вебхука
last_response_statusstringСтатус последнего ответа от вебхука

Поля конфигурации config:

ПолеТипОписание
urlstringURL, на который будут отправляться вебхуки
content_typestringТип контента
secretstringСекретный ключ для подписи запросов

Формат ответа: application/vnd.gitverse.object+json;version=latest

Коды ответов

КодСтатусОписание
201CreatedВебхук успешно создан
400Bad RequestНекорректные параметры запроса
401UnauthorizedНеобходима авторизация
403ForbiddenДоступ запрещен
404Not FoundРепозиторий не найден
500Internal Server ErrorВнутренняя ошибка сервера

Примечания:

  • поля events должны содержать допустимые типы событий: create, delete, fork, push, pull_request, pull_request_comment, pull_request_review;
  • убедитесь, что URL вебхука доступен и правильно обрабатывает входящие запросы.

Вы нашли что искали?