4. PATCH /repos/{owner}/{repo}/hooks/{hook_id} — обновить информацию о вебхуке

Описание

Этот метод позволяет обновить информацию о вебхуке репозитория.

Параметры URL:

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

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

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

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

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

ПолеТипОбязательныйОписание
activebooleanНетАктивен ли вебхук
eventsarray of stringsНетСобытия, на которые будет реагировать вебхук
add_eventsarray of stringsНетСобытия, которые нужно добавить
remove_eventsarray of stringsНетСобытия, которые нужно удалить
configobjectНетКонфигурация вебхука

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

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

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

curl -X PATCH "https://api.gitverse.ru/repos/myuser/myrepo/hooks/123" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=latest" \
  -H "Content-Type: application/json" \
  -d '{
    "active": false,
    "config": {
      "url": "https://example.com/new-webhook"
    }
  }'

Требования

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

Ответ (200 OK):

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

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

Поля ответа:

ПолеТипОписание
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

Коды ответов

КодСтатусОписание
200OkЗапрос выполнен успешно, вебхук обновлен
400Bad RequestНекорректные параметры запроса
401UnauthorizedНеобходима авторизация
403ForbiddenДоступ запрещен
404Not FoundВебхук или репозиторий не найдены
429Too Many RequestsПревышен лимит запросов
500Internal Server ErrorВнутренняя ошибка сервера

Примечания:

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