2. PATCH /repos/{owner}/{repo}
— обновить репозиторий
Update
Описание
Позволяет изменить настройки репозитория: название, описание, приватность, ветку по умолчанию, политики слияния и другие параметры.
Для выполнения запроса требуется право на администрирование репозитория.
⚠️ Важно:
Обновляются только те поля, которые переданы в теле запроса. Остальные параметры остаются без изменений.
Параметры URL
Параметр | Обязательный | Описание |
---|---|---|
owner | Да | Владелец репозитория (пользователь или организация) |
repo | Да | Название репозитория (без расширения .git ) |
Параметры запроса
Данный метод не принимает параметров запроса.
Тело запроса
Тело должно быть в формате application/json
и может содержать любые поля из request.RepositoryUpdateDTO
.
Поле | Тип | Описание |
---|---|---|
name | string | Новое название репозитория |
description | string | Описание репозитория |
private | boolean | Приватный (true ) или публичный (false ) репозиторий |
default_branch | string | Ветка по умолчанию (например, main ) |
default_merge_style | string | Стратегия слияния по умолчанию: merge , rebase , squash |
allow_merge | boolean | Разрешить создание коммита слияния |
allow_rebase | boolean | Разрешить слияние через rebase |
allow_squash | boolean | Разрешить squash-слияние |
allow_rebase_merge | boolean | Разрешить rebase и merge |
allow_update_branch | boolean | Разрешить обновление ветки через веб-интерфейс |
delete_branch_on_merge | boolean | Удалять ветку после слияния |
archived | boolean | Заархивировать репозиторий (только для чтения) |
is_template | boolean | Сделать репозиторий шаблоном |
homepage | string | URL домашней страницы проекта |
ignore_whitespace | boolean | Игнорировать изменения пробелов при сравнении |
autodetect_manual_merge | boolean | Автоматически определять возможность ручного слияния |
Пример запроса
curl -X PATCH "https://api.gitverse.ru/repos/dlborun/APInewTestRepo4.3" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1" \
-H "Content-Type: application/json" \
-d '{
"name": "updated-repo-name",
"description": "Обновленное описание проекта",
"private": true,
"default_branch": "main",
"allow_merge": false,
"allow_squash": true,
"allow_rebase": true,
"delete_branch_on_merge": true,
"archived": false
}'
Ответ (200 OK
)
{
"id": 143,
"name": "updated-repo-name",
"full_name": "dlborun/updated-repo-name",
"private": true,
"description": "Обновленное описание проекта",
"fork": false,
"default_branch": "main",
"visibility": "private",
"has_issues": true,
"has_projects": true,
"has_wiki": true,
"allow_merge_commit": false,
"allow_squash_merge": true,
"allow_rebase_merge": true,
"delete_branch_on_merge": true,
"archived": false,
"permissions": {
"pull": true,
"push": true,
"admin": true
},
"stargazers_count": 0,
"watchers": 1,
"size": 27,
"language": null,
"created_at": "2025-06-10T11:04:05Z",
"updated_at": "2025-06-10T12:30:00Z",
"pushed_at": "2025-06-10T11:04:06Z"
}
Формат ответа:
application/vnd.gitverse.object+json;version=1
Поля ответа
Поле | Тип | Описание |
---|---|---|
id | number | Уникальный идентификатор репозитория |
name | string | Название репозитория (после возможного переименования) |
full_name | string | Полное имя репозитория в формате владелец/название |
private | boolean | Является ли репозиторий приватным |
description | string | null | Описание репозитория (может быть null ) |
default_branch | string | Ветка по умолчанию |
visibility | string | Уровень видимости: public , private , internal |
has_issues | boolean | Включена ли система задач |
has_projects | boolean | Доступны ли проекты |
has_wiki | boolean | Включена ли вики |
allow_merge_commit | boolean | Разрешено ли создание коммита слияния |
allow_squash_merge | boolean | Разрешено ли squash-слияние |
allow_rebase_merge | boolean | Разрешено ли rebase-слияние |
delete_branch_on_merge | boolean | Удалять ветку после слияния |
archived | boolean | Заархивирован ли репозиторий |
is_template | boolean | Является ли шаблоном |
permissions.pull | boolean | Право на чтение |
permissions.push | boolean | Право на запись |
permissions.admin | boolean | Административные права |
stargazers_count | number | Количество звезд |
watchers | number | Количество наблюдателей |
size | number | Размер репозитория в килобайтах |
language | string | null | Основной язык программирования |
created_at | string | Дата создания (ISO 8601) |
updated_at | string | Дата последнего обновления |
pushed_at | string | Дата последнего push |
Коды ответа
Код | Статус | Описание |
---|---|---|
200 | OK | Репозиторий успешно обновлен |
400 | Bad Request | Некорректные данные в теле запроса |
401 | Unauthorized | Не передан или невалиден токен авторизации |
403 | Forbidden | Нет прав на изменение репозитория |
404 | Not Found | Репозиторий не найден |
422 | Unprocessable Entity | Невозможно обработать запрос (например, имя занято) |