15. GET /repos/{owner}/{repo}/issues/{index}
— получить задачу или запрос на слияние
Описание
Возвращает подробную информацию о задаче (issue) или пул-реквесте (pull request) по его индексу в репозитории.
Метод работает как для обычных задач, так и для пул-реквестов — различие определяется автоматически.
Используется для отображения деталей обсуждения, получения метаданных (автор, метки, вехи, комментарии и т.д.) и интеграции с внешними системами управления задачами.
На текущий момент метод возвращает данные только для запросов на слияние (pr). Поддержка задач (issues) будет реализована позже.
Параметры URL
Параметр | Обязательный | Описание |
---|---|---|
owner | Да | Владелец репозитория (пользователь или организация) |
repo | Да | Название репозитория (без расширения .git ) |
index | Да | Индекс задачи или пул-реквеста в репозитории (целое число) |
Параметры запроса
Данный метод не принимает параметров в строке запроса.
Тело запроса
Данный метод не требует тела запроса.
Пример запроса
curl -X GET "https://api.gitverse.ru/public/api/repos/gitverse-team/core-api/issues/42" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1"
Ответ (200 OK)
Пример JSON-ответа:
{
"id": 12345,
"number": 42,
"title": "Добавить поддержку версионирования API",
"body": "Необходимо реализовать версионирование согласно SemVer.",
"state": "open",
"html_url": "https://gitverse.ru/gitverse-team/core-api/issues/42",
"created_at": "2025-09-15T10:00:00Z",
"updated_at": "2025-10-01T14:30:00Z",
"closed_at": null,
"user": {
"login": "developer1",
"id": 789,
"avatar_url": "https://gitverse.ru/avatars/789.png",
"html_url": "https://gitverse.ru/developer1"
},
"labels": [
{
"id": 101,
"name": "enhancement",
"color": "84b6eb"
}
],
"assignees": [],
"milestone": null,
"comments": 3,
"pull_request": null
}
💡 Если объект является пул-реквестом, поле
pull_request
будет содержать метаданные (например,{"merged": false, "draft": false}
).
Формат ответа
application/vnd.gitverse.object+json;version=1
Поля ответа
Поле | Тип | Описание |
---|---|---|
id | integer | Внутренний ID задачи |
number | integer | Публичный индекс задачи/PR в репозитории |
title | string | Заголовок |
body | string | Описание |
state | string | Состояние: open , closed |
html_url | string | Ссылка на задачу в веб-интерфейсе |
created_at | string | Дата создания (ISO 8601) |
updated_at | string | Дата последнего изменения |
closed_at | string | null | Дата закрытия (если закрыта) |
user | object | Автор задачи |
labels | array | Список меток |
assignees | array | Список назначенных пользователей |
milestone | object | null | Веха (milestone) |
comments | integer | Количество комментариев |
pull_request | object | null | Присутствует только для пул-реквестов |
Коды ответа
Код | Статус | Описание |
---|---|---|
200 | OK | Задача или пул-реквест успешно найден и возвращен |
401 | Unauthorized | Не передан или недействителен токен авторизации |
403 | Forbidden | Нет прав на чтение репозитория |
404 | Not Found | Репозиторий или задача с указанным индексом не найдены |
500 | Internal Server Error | Внутренняя ошибка сервера |