4. PATCH /repos/{owner}/{repo}/hooks/{hook_id} — обновить информацию о вебхуке
Описание
Этот метод позволяет обновить информацию о вебхуке репозитория.
Параметры URL:
| Параметр | Обязательный | Описание |
|---|---|---|
owner | Да | Имя владельца репозитория |
repo | Да | Название репозитория |
hook_id | Да | Идентификатор вебхука |
Параметры запроса:
Данный метод не требует параметров запроса.
Тело запроса:
Тело запроса должно содержать параметры вебхука в формате JSON.
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
active | boolean | Нет | Активен ли вебхук |
events | array of strings | Нет | События, на которые будет реагировать вебхук |
add_events | array of strings | Нет | События, которые нужно добавить |
remove_events | array of strings | Нет | События, которые нужно удалить |
config | object | Нет | Конфигурация вебхука |
Поля конфигурации config:
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
url | string | Нет | URL, на который будут отправляться вебхуки |
content_type | string | Нет | Тип контента |
secret | string | Нет | Секретный ключ для подписи запросов |
http_method | string | Нет | 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"
}Поля ответа:
| Поле | Тип | Описание |
|---|---|---|
id | integer | Уникальный идентификатор вебхука |
active | boolean | Активен ли вебхук |
events | array of strings | События, на которые реагирует вебхук |
config | object | Конфигурация вебхука |
created_at | string | Дата создания вебхука |
updated_at | string | Дата последнего обновления вебхука |
last_response_status | string | Статус последнего ответа от вебхука |
Поля конфигурации config:
| Поле | Тип | Описание |
|---|---|---|
url | string | URL, на который будут отправляться вебхуки |
content_type | string | Тип контента |
secret | string | Секретный ключ для подписи запросов |
Формат ответа: application/vnd.gitverse.object+json;version=latest
Коды ответов
| Код | Статус | Описание |
|---|---|---|
200 | Ok | Запрос выполнен успешно, вебхук обновлен |
400 | Bad Request | Некорректные параметры запроса |
401 | Unauthorized | Необходима авторизация |
403 | Forbidden | Доступ запрещен |
404 | Not Found | Вебхук или репозиторий не найдены |
500 | Internal Server Error | Внутренняя ошибка сервера |
Примечания:
- поля
events,add_eventsиremove_eventsявляются взаимоисключающими, можно использовать только одно из них; - поля
eventsдолжны содержать допустимые типы событий:create,delete,fork,push,pull_request,pull_request_comment,pull_request_review; - при обновлении
configвсе поля будут заменены полностью, если не указано иное.
3. GET /repos/{owner}/{repo}/hooks/{hook_id} — получить информацию о вебхуке5. DELETE /repos/{owner}/{repo}/hooks/{hook_id} — удалить вебхук