Прикрепить файл к задаче

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

Описание

Метод POST загружает файл и прикрепляет его к существующей задаче. Метод не применяется к запросам на слияние.

Файл передается в теле запроса в формате multipart/form-data в поле attachment.

Метод применяется для прикрепления к задаче скриншотов, логов, примеров и других вспомогательных файлов.

Права доступа: загрузить файл может автор задачи, администратор репозитория или администратор инстанса.

Заголовки

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

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

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

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

ПараметрТипОбязательныйОписание
attachmentfileДаПрикрепляемый файл

Тело запроса

Данный метод принимает файл в формате multipart/form-data. Параметры тела отсутствуют.

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

curl -X POST "https://api.gitverse.ru/repos/user/my-repo/issues/18/attachments" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=1" \
  -H "Content-Type: multipart/form-data" \
  -F "attachment=@/path/to/error.log"

Замените YOUR_TOKEN на ваш личный токен доступа.

Пример ответа (201 Created)

При успешном выполнении сервер возвращает массив вложений задачи:

[
  {
    "id": 55,
    "uuid": "c2f6418f-...",
    "name": "error.log",
    "size": 4096,
    "browser_download_url": "https://gitverse.ru/user/repo/attachments/c2f6418f-...",
    "created_at": "2025-06-10T09:00:00Z"
  }
]

Коды ответа

КодСтатусОписание
201CreatedФайл успешно загружен.
400Bad RequestНекорректные параметры запроса.
403ForbiddenНет прав на доступ к репозиторию.
404Not FoundЗадача или репозиторий не найдены.
422Unprocessable EntityОшибка валидации данных.
500Internal Server ErrorВнутренняя ошибка сервера GitVerse.