Публичный APIРелизы9. POST /repos/{owner}/{repo}/releases/{release_id}/assets — загрузить ассет в релиз

9. POST /repos/{owner}/{repo}/releases/{release_id}/assets — загрузить ассет в релиз

Описание

Этот метод позволяет загрузить ассет в релиз. Поддерживает загрузку файлов в формате multipart/form-data.

Параметры URL:

ПараметрОбязательныйОписание
ownerДаВладелец репозитория (логин или имя организации)
repoДаНазвание репозитория без расширения .git
release_idДаИдентификатор релиза

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

ПараметрОбязательныйОписание
nameДаИмя ассета (1–255 символов, буквы, цифры, подчеркивания, дефисы, точки; должно включать расширение файла; не должно содержать ’/’ или ”)
attachmentДаФайл ассета

Тело запроса:

Формат: multipart/form-data

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

curl -X POST "https://api.gitverse.ru/repos/myuser/myrepo/releases/123/assets?name=myfile.zip" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "attachment=@/path/to/myfile.zip"

Ответ (201 Created):

Ответ содержит информацию о загруженном ассете.

{
  "id": 456,
  "name": "myfile.zip",
  "size": 1024,
  "download_count": 0,
  "browser_download_url": "https://api.gitverse.ru/repos/myuser/myrepo/releases/123/assets/456/download",
  "created_at": "2023-01-01T00:00:00Z",
  "uuid": "abc123"
}

Формат ответа: application/vnd.gitverse.object+json;version=1

Коды ответов

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

Примечания:

  • убедитесь, что ключ API указан корректно и обладает необходимыми правами для доступа к репозиторию;
  • имя файла должно соответствовать ограничениям (1-255 символов, допустимые символы).