Создать комментарий

POST /repos/{owner}/{repo}/issues/{issue_number}/comments

Описание метода

Метод создает новый комментарий в задаче или запросе на слияние.

При создании комментария должна учитываться ролевая модель:

  • для задачи: ролевая модель создания комментария к своей задаче и к чужой задаче;
  • для запроса на слияние: ролевая модель комментирования запроса (обсуждение).

Базовый URL:

https://api.gitverse.ru/repos/{owner}/{repo}/issues/{issue_number}/comments

Заголовки запроса

ЗаголовокТипОбязательныйОписание
AcceptstringРекомендуетсяТип представления. Значение: application/vnd.gitverse.object+json;version=1
AuthorizationstringДаДля аутентификации используется токен доступа. Формат: Bearer <YOUR-TOKEN> или token <YOUR-TOKEN>.
Content-TypestringДаТип содержимого запроса: application/json.

Параметры пути

ПараметрТипОбязательныйОписание
ownerstringДаИмя владельца репозитория (пользователя или организации).
repostringДаНазвание репозитория.
issue_numberintegerДаНомер задачи или запроса.

Тело запроса

ПолеТипОбязательноеОписание
bodystringДаТело комментария.
is_reviewbooleanНетЯвляется ли комментарий ревью к запросу. По умолчанию false.
Предупреждение: не может быть true, если is_thread = true.
is_threadbooleanНетЯвляется ли комментарий тредом. По умолчанию false.
Предупреждение: не может быть true, если is_review = true.
reply_tointegerНетПринимает ID комментария, если создается ответ на него.
thread_idintegerНетПринимает ID треда, если создается ответ в треде.

Пример тела запроса

{
  "body": "Это пример комментария.\n\nОн включает **markdown**",
  "is_review": false,
  "is_thread": false
}

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

curl -X POST "https://api.gitverse.ru/repos/owner/repo/issues/13/comments" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=1" \
  -H "Content-Type: application/json" \
  -d '{
    "body": "Это пример комментария.\n\nОн включает **markdown**"
  }'

Коды ответа

КодСтатусОписание
201CreatedКомментарий успешно создан
400Bad RequestНекорректные параметры запроса
404Not FoundРесурс не найден либо нет доступа к нему
422Unprocessable EntityОшибка валидации
500Internal Server ErrorВнутренняя ошибка сервера

Структура ответа

Ответ — объект IssueComment (созданный комментарий). Полная структура описана в графе объектов, раздел «Объект IssueComment».

На корневом уровне объект содержит:

ПолеТипОписание
id, node_idinteger / stringИдентификатор и глобальный ID узла (всегда null)
body, body_text, body_htmlstringТекст комментария (raw/plain/HTML)
userobject / nullАвтор (см. User)
attachmentsarrayВложения (см. Attachment)
created_at, updated_atstring (date-time)Даты создания и обновления
url, html_url, issue_urlstringСсылки

Вложенные объекты (User, Attachment) описаны в графе объектов.

Примеры ответов

201 Created — комментарий успешно создан

{
  "id": 863439,
  "node_id": null,
  "url": "https://api.gitverse.ru/repos/user_42/neo2/issues/comments/863439",
  "html_url": "https://gitverse.ru/user_42/neo2/issues/1#comment-863439",
  "body": "Это пример комментария.\n\nОн включает **markdown**",
  "body_text": "Это пример комментария.\n\nОн включает **markdown**",
  "body_html": "Это пример комментария.\n\nОн включает **markdown**",
  "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
  },
  "attachments": [],
  "created_at": "2026-09-10T08:05:59Z",
  "updated_at": "2026-09-10T08:05:59Z",
  "issue_url": "https://api.gitverse.ru/repos/user_42/neo2/issues/1"
}

400 Bad Request — некорректные параметры

{
  "message": "Bad Request",
  "documentation_url": "https://gitverse.ru/docs/developers/public-api/errors"
}

404 Not Found — ресурс не найден или нет доступа

{
  "message": "Not Found",
  "documentation_url": "https://gitverse.ru/docs/developers/public-api/errors"
}

422 Unprocessable Entity — ошибка валидации

{
  "message": "Validation failed",
  "errors": [
    {
      "resource": "Comment",
      "field": "body",
      "code": "missing_field"
    }
  ],
  "documentation_url": "https://gitverse.ru/docs/developers/public-api/errors"
}

500 Internal Server Error — внутренняя ошибка сервера

{
  "message": "Internal Server Error",
  "documentation_url": "https://gitverse.ru/docs/developers/public-api/errors"
}

Формат ответа

Метод возвращает ответ в формате JSON. Заголовок Content-Type в ответе устанавливается в application/vnd.gitverse.object+json;version=1.