2. POST /repos/{owner}/{repo}/git/commits
— cоздать коммит
Описание
Создает новый объект коммита в репозитории. Требуется указать дерево, родителей и сообщение.
URL
POST /public/api/repos/{username}/{reponame}/git/commits
Примечание. В спецификации используются параметры
{username}/{reponame}
, которые семантически эквивалентны{owner}/{repo}
.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
username | string | Да | Владелец репозитория. |
reponame | string | Да | Название репозитория. |
body | object | Да | Параметры коммита. |
Тело запроса
{
"message": "feat: добавлен новый модуль",
"tree": "a1b2c3d4...",
"parents": ["f5e4d3c2..."],
"author": {
"name": "Иван Петров",
"email": "ivan@example.com",
"date": "2025-04-05T12:00:00Z"
},
"committer": {
"name": "CI Bot",
"email": "bot@ci.gitverse.ru",
"date": "2025-04-05T12:00:00Z"
}
}
Заголовки
Authorization: Bearer <your-api-token>
Content-Type: application/json
Accept: application/vnd.gitverse.object+json;version=1
Ответ (201 Created)
{
"sha": "c9b8e7d6...",
"url": "https://gitverse.ru/api/...",
"commit": {
"message": "feat: добавлен новый модуль",
"tree": { "sha": "a1b2c3d4..." },
"author": { "name": "Иван Петров", "email": "ivan@example.com" },
"committer": { "name": "CI Bot", "email": "bot@ci.gitverse.ru" }
},
"parents": [
{ "sha": "f5e4d3c2..." }
]
}
Коды ответов
Код | Статус | Описание |
---|---|---|
201 | Created | Коммит успешно создан |
400 | Bad Request | Неверный запрос: отсутствуют обязательные поля (например, дерево, сообщение или родительские коммиты) |
403 | Forbidden | Доступ запрещен: недостаточно прав для создания коммитов в репозитории |
404 | Not Found | Репозиторий не найден |
422 | Unprocessable Entity | Невозможно обработать сущность: например, недопустимый SHA родителя или некорректная структура дерева |
500 | Internal Server Error | Внутренняя ошибка сервера |