9. POST /repos/{username}/{reponame}/git/refs
— создать Git-ссылку
Описание
Создает новую ветку (refs/heads/
), тег (refs/tags/
) или кастомную ссылку (refs/*/
) в указанном репозитории.
Для веток предусмотрена интеграция с трекером задач (например, автоматическое создание задачи при создании ветки в определенном формате).
Тело запроса
Тело содержит параметры создания Git-ссылки.
Поле | Тип | Описание |
---|---|---|
ref | string | Полный путь к ссылке. Примеры: refs/heads/new-feature , refs/tags/v1.0 . |
sha | string | SHA хеш коммита, на который будет указывать созданная ссылка. |
Параметры запроса
Поле | Тип | Описание | Обязательность |
---|---|---|---|
username | Path | Имя владельца репозитория (пользователь или организация). | Обязательный |
reponame | Path | Название репозитория. | Обязательный |
Authorization | Header | Токен авторизации в формате Bearer <access_token> . | Обязательный |
body | Body | Объект с параметрами создания ссылки (см. выше). | Обязательный |
Пример тела запроса
{
"ref": "refs/heads/feature/new-ui",
"sha": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
}
Пример запроса
curl -X POST "https://api.gitverse.ru/repos/dlborun/APInewTestRepo4.3/git/refs" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ref": "refs/heads/feature/new-ui",
"sha": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
}'
Ответ (201 Created
)
{
"ref": "refs/heads/feature/new-ui",
"url": "https://api.gitverse.ru/repos/dlborun/APInewTestRepo4.3/git/refs/heads/feature/new-ui",
"object": {
"sha": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
"type": "commit",
"url": "https://api.gitverse.ru/repos/dlborun/APInewTestRepo4.3/git/commits/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
}
}
Формат ответа: application/vnd.gitverse.object+json;version=1
Коды ответов
Код | Статус | Описание |
---|---|---|
201 | Created | Ссылка успешно создана. |
400 | Bad Request | Некорректные параметры запроса (например, неверный формат ref ). |
403 | Forbidden | Нет прав на создание ссылки в этом репозитории. |
409 | Conflict | Ссылка с таким именем уже существует. |
422 | Unprocessable Entity | Ошибка валидации: неверный SHA, некорректный путь ссылки и т.д. |
500 | Internal Server Error | Внутренняя ошибка сервера. |
Примечания
- Поддерживаются любые ссылки в пространстве
refs/*
(ветки, теги, кастомные ссылки). - При создании ветки (
refs/heads/...
) может быть автоматически создана задача в трекере, если имя ветки соответствует шаблону (например,task-123-fix-bug
). - Убедитесь, что указанный
sha
существует в репозитории.