Получить комментарии к задаче или запросу на слияние

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

Описание

Метод GET возвращает список всех комментариев, оставленных в задаче или запросе на слияние с указанным индексом (issue_number). Поддерживается фильтрация по дате создания комментариев.

Этот метод полезен для отображения обсуждений, синхронизации с внешними системами и анализа активности.

Токен

Требуется токен с правами на Чтение для Репозитория.

Заголовки

ПараметрОбязательныйОписание
AcceptНетТип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=latest
AuthorizationДаТокен доступа. Формат: Bearer <YOUR-TOKEN> или token <YOUR-TOKEN>

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

В URL запроса необходимо передать следующие идентификаторы ресурса:

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

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

Для фильтрации результатов по времени можно использовать следующие параметры:

ПараметрТипОбязательныйОписание
sincestringНетТолько комментарии, созданные после указанной даты (в формате RFC 3339, например: 2025-01-01T00:00:00Z)
beforestringНетТолько комментарии, созданные до указанной даты (в формате RFC 3339)

💡 Совет: оба параметра (since и before) можно использовать одновременно для ограничения временного диапазона.

Тело запроса

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

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

Ниже приведен пример использования curl для получения комментариев к запросу на слияние с индексом 42, созданных после 1 октября 2025 года.

curl -X GET "https://api.gitverse.ru/repos/gitverse-team/core-api/issues/42/comments?since=2025-10-01T00:00:00Z" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=1"

Замените YOUR_TOKEN на ваш личный токен доступа. Заголовок Accept фиксирует использование первой версии API.

Ответ при успешном получении (200 OK)

Если запрос выполнен успешно, сервер вернет ответ с кодом 200 OK и телом в формате JSON, содержащим массив объектов комментариев:

[
{
  "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": "Обновленный текст комментария",
  "body_text": "Обновленный текст комментария",
  "body_html": "Обновленный текст комментария",
  "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": [
    {
      "id": 18643,
      "name": "get_issues.txt",
      "size": 2232,
      "created_at": "2026-09-10T09:40:45Z",
      "uuid": "18821ae0-fd69-4de7-ade5-b692d14c0f9c",
      "browser_download_url": "https://gitverse.ru/api/attachments/18821ae0-fd69-4de7-ade5-b692d14c0f9c"
    }
  ],
  "created_at": "2026-09-10T08:05:59Z",
  "updated_at": "2026-09-10T09:40:47Z",
  "issue_url": "https://api.gitverse.ru/repos/user_42/neo2/issues/1"
},
{
  "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": "Обновленный текст комментария",
  "body_text": "Обновленный текст комментария",
  "body_html": "Обновленный текст комментария",
  "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": [
    {
      "id": 18643,
      "name": "get_issues.txt",
      "size": 2232,
      "created_at": "2026-09-10T09:40:45Z",
      "uuid": "18821ae0-fd69-4de7-ade5-b692d14c0f9c",
      "browser_download_url": "https://gitverse.ru/api/attachments/18821ae0-fd69-4de7-ade5-b692d14c0f9c"
    }
  ],
  "created_at": "2026-09-10T08:05:59Z",
  "updated_at": "2026-09-10T09:40:47Z",
  "issue_url": "https://api.gitverse.ru/repos/user_42/neo2/issues/1"
}
]

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

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

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

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

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

Коды ответа

Результат выполнения запроса определяется по HTTP-статусу:

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

Пример тела ошибки

При ответе 400 тело ответа имеет следующий вид:

{
  "error": {
    "code": "BAD_REQUEST",
    "documentation_url": "https://gitverse.ru/docs/developers/public-api/",
    "message": "The request format is invalid",
    "status": 400
  }
}

Формат ответа и заголовки

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