Установить реакцию на задачу
POST /repos/{owner}/{repo}/issues/{issue_number}/reactions
Описание
Метод POST устанавливает (добавляет) реакцию на задачу в репозитории. В теле запроса передается содержимое реакции (content), например +1, heart или rocket.
Если реакция с указанным содержимым уже существует, сервер вернет ее в ответе с кодом 200 OK; если реакции еще не было — создаст ее и вернет с кодом 201 Created.
Метод применяется для выражения отношения к задаче в интерфейсе и для интеграции с внешними системами.
Важно: учитывается приватность репозитория. Если репозиторий приватный, а запрос выполняется не владельцем, соавтором или участником команды с доступом к репозиторию, возвращается ошибка 404.
Примечание: ручка работает только с задачами и только при включенном новом трекере задач; для pull request возвращается
422 Unprocessable Entity. Удаление реакции задачи отдельно не опубликовано.
Заголовки
| Параметр | Обязательный | Описание |
|---|---|---|
Accept | Нет | Тип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=1 |
Authorization | Да | Токен доступа. Формат: Bearer <YOUR-TOKEN> или token <YOUR-TOKEN> |
Content-Type | Да | Тип содержимого запроса: application/json |
Параметры пути
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
owner | string | Да | Владелец репозитория (логин пользователя или имя организации) |
repo | string | Да | Название репозитория (без расширения .git) |
issue_number | integer | Да | Номер задачи |
Тело запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
content | string | Да | Содержимое (код) реакции, например +1, heart или rocket. |
Пример запроса
curl -X POST "https://api.gitverse.ru/repos/user/my-repo/issues/18/reactions" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1" \
-H "Content-Type: application/json" \
-d '{"content": "+1"}'
Замените YOUR_TOKEN на ваш личный токен доступа.
Пример ответа (201 Created)
При успешном создании сервер возвращает созданную реакцию:
{
"id": 7772,
"content": "+1",
"user": {
"login": "user_42",
"id": 516,
"avatar_url": "https://gitverse.ru/avatars/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"url": "https://api.gitverse.ru/users/user_42",
"html_url": "https://gitverse.ru/user_42",
"followers_url": "https://api.gitverse.ru/users/user_42/followers",
"following_url": "https://api.gitverse.ru/users/user_42/following{/other_user}",
"organizations_url": "https://api.gitverse.ru/users/user_42/orgs",
"repos_url": "https://api.gitverse.ru/users/user_42/repos",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-09-10T11:30:27Z"
}
Если реакция уже существовала, сервер вернет ее с кодом 200 OK и таким же телом.
Дополнительный пример запроса с реакцией heart:
-d '{"content": "heart"}'
Структура ответа
Ответ — объект Reaction (реакция). Полная структура описана в графе объектов, раздел «Объект Reaction».
На корневом уровне объект содержит:
| Поле | Тип | Описание |
|---|---|---|
id | integer | Идентификатор реакции |
content | string | Тип реакции |
user | object | Пользователь, поставивший реакцию (см. User) |
created_at | string (date-time) | Дата создания |
Коды ответа
| Код | Статус | Описание |
|---|---|---|
200 | OK | Реакция уже существовала, возвращена. |
201 | Created | Реакция успешно создана. |
400 | Bad Request | Некорректные параметры запроса. |
401 | Unauthorized | Не передан или невалиден токен авторизации. |
403 | Forbidden | Нет прав на доступ к репозиторию. |
404 | Not Found | Задача или репозиторий не найдены. |
422 | Unprocessable Entity | Ошибка валидации данных. |
500 | Internal Server Error | Внутренняя ошибка сервера GitVerse. |