12. 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 | Неверный запрос: переданы некорректные параметры (например, недопустимое имя ссылки или отсутствует SHA коммита) |
| 403 | Forbidden | Доступ запрещен: у вас недостаточно прав для создания ссылок в этом репозитории |
| 409 | Conflict | Конфликт: ссылка с таким именем уже существует |
| 422 | Unprocessable Entity | Невозможно обработать сущность: например, указан недопустимый формат ссылки или недействительный SHA |
| 500 | Internal Server Error | Внутренняя ошибка сервера |
Примечания
- Поддерживаются любые ссылки в пространстве
refs/*(ветки, теги, кастомные ссылки). - При создании ветки (
refs/heads/...) может быть автоматически создана задача в трекере, если имя ветки соответствует шаблону (например,task-123-fix-bug). - Убедитесь, что указанный
shaсуществует в репозитории.
11. GET /repos/{username}/{reponame}/compare/{basehead} — сравнить две ветки/тега/коммита13. GET /repos/{owner}/{repo}/issues — получить список задач (issues) репозитория