Создание нового релиза

POST /repos/{owner}/{repo}/releases

Описание

Создает новый релиз на основе тега.

Токен

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

Заголовки

ПараметрОбязательныйОписание
acceptНетТип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=latest

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

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

Тело запроса

Тело запроса содержит параметры для создания релиза.

ПолеОбязательныйОписание
tag_nameНетНазвание тега
nameНетНазвание релиза
target_commitishНетНазвание ветки или коммита, на который указывает тег
bodyНетОписание релиза
draftНетФлаг черновика (по умолчанию false)
prereleaseНетФлаг предварительного релиза (по умолчанию false)
is_authorized_onlyНетРазрешение на скачивание прикрепленных файлов только для авторизованного пользователя

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

curl --location --request POST 'https://api.gitverse.ru/repos/hardqa_1/testo_repa/releases' \
--header 'accept: application/vnd.gitverse.object+json;version=1' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "release v5 API",
    "tag_name": "v5",
    "target_commitish": "master",
    "body": "sdasdasdas",
    "draft": false,
    "prerelease": false,
    "is_authorized_only": false
}'

Ответ (201 Created)

{
    "id": 22,
    "tag_name": "v5",
    "target_commitish": "master",
    "name": "release v5 API",
    "body": "sdasdasdas",
    "url": "https://api.gitverse.ru/repos/hardqa_1/testo_repa/releases/22",
    "html_url": "https://api.gitverse.ru/hardqa_1/testo_repa/releases/tag/v5",
    "tarball_url": "https://api.gitverse.ru/hardqa_1/testo_repa/archive/v5.tar.gz",
    "zipball_url": "https://api.gitverse.ru/hardqa_1/testo_repa/archive/v5.zip",
    "upload_url": "https://api.gitverse.ru/repos/hardqa_1/testo_repa/releases/22/assets",
    "draft": false,
    "prerelease": false,
    "is_authorized_only": false,
    "created_at": "2025-08-18T08:22:06Z",
    "published_at": "2025-08-18T08:22:06Z",
    "author": {
        "id": 14,
        "name": "",
        "login": "hardqa_1",
        "type": "User",
        "bio": "",
        "email": "hardqa_1@mail.ru",
        "avatar_url": "https://api.gitverse.ru/avatars/d58095c0fe787f981dff5b6a41117aec",
        "html_url": "https://gitverse.ru/hardqa_1",
        "url": "https://api.gitverse.ru/hardqa_1",
        "repos_url": "https://api.gitverse.ru/hardqa_1/repos",
        "site_admin": false,
        "location": null,
        "followers": 0,
        "following": 0,
        "public_repos": 3,
        "created_at": "2025-08-18T08:19:48Z",
        "updated_at": "2025-08-18T08:57:48Z"
    },
    "assets": []
}

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

Коды ответов

КодСтатусОписание
201CreatedРелиз успешно создан
400Bad RequestНекорректные параметры запроса
403ForbiddenДоступ запрещен
404Not FoundУказанный репозиторий не найден
409ConflictКонфликт (например, тег уже существует)
422Unprocessable EntityОшибка валидации данных
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
  }
}

Примечания

  • убедитесь, что вы используете правильный токен API с необходимыми правами доступа к репозиторию;
  • параметры draft и prerelease позволяют задавать дополнительные характеристики релиза.