Публичный APIРепозитории2. PATCH/repos/{owner}/{repo} — обновить информацию о репозитории

2. PATCH /repos/{owner}/{repo} — обновить репозиторий

Update

Описание

Позволяет изменить настройки репозитория: название, описание, приватность, ветку по умолчанию, политики слияния и другие параметры.
Для выполнения запроса требуется право на администрирование репозитория.

⚠️ Важно:
Обновляются только те поля, которые переданы в теле запроса. Остальные параметры остаются без изменений.

Параметры URL

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

Параметры запроса

Данный метод не принимает параметров запроса.

Тело запроса

Тело должно быть в формате application/json и может содержать любые поля из request.RepositoryUpdateDTO.

ПолеТипОписание
namestringНовое название репозитория
descriptionstringОписание репозитория
privatebooleanПриватный (true) или публичный (false) репозиторий
default_branchstringВетка по умолчанию (например, main)
default_merge_stylestringСтратегия слияния по умолчанию: merge, rebase, squash
allow_mergebooleanРазрешить создание коммита слияния
allow_rebasebooleanРазрешить слияние через rebase
allow_squashbooleanРазрешить squash-слияние
allow_rebase_mergebooleanРазрешить rebase и merge
allow_update_branchbooleanРазрешить обновление ветки через веб-интерфейс
delete_branch_on_mergebooleanУдалять ветку после слияния
archivedbooleanЗаархивировать репозиторий (только для чтения)
is_templatebooleanСделать репозиторий шаблоном
homepagestringURL домашней страницы проекта
ignore_whitespacebooleanИгнорировать изменения пробелов при сравнении
autodetect_manual_mergebooleanАвтоматически определять возможность ручного слияния

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

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

Поля ответа

ПолеТипОписание
idnumberУникальный идентификатор репозитория
namestringНазвание репозитория (после возможного переименования)
full_namestringПолное имя репозитория в формате владелец/название
privatebooleanЯвляется ли репозиторий приватным
descriptionstring | nullОписание репозитория (может быть null)
default_branchstringВетка по умолчанию
visibilitystringУровень видимости: public, private, internal
has_issuesbooleanВключена ли система задач
has_projectsbooleanДоступны ли проекты
has_wikibooleanВключена ли вики
allow_merge_commitbooleanРазрешено ли создание коммита слияния
allow_squash_mergebooleanРазрешено ли squash-слияние
allow_rebase_mergebooleanРазрешено ли rebase-слияние
delete_branch_on_mergebooleanУдалять ветку после слияния
archivedbooleanЗаархивирован ли репозиторий
is_templatebooleanЯвляется ли шаблоном
permissions.pullbooleanПраво на чтение
permissions.pushbooleanПраво на запись
permissions.adminbooleanАдминистративные права
stargazers_countnumberКоличество звезд
watchersnumberКоличество наблюдателей
sizenumberРазмер репозитория в килобайтах
languagestring | nullОсновной язык программирования
created_atstringДата создания (ISO 8601)
updated_atstringДата последнего обновления
pushed_atstringДата последнего push

Коды ответа

КодСтатусОписание
200OKРепозиторий успешно обновлен
400Bad RequestНекорректные данные в теле запроса
401UnauthorizedНе передан или невалиден токен авторизации
403ForbiddenНет прав на изменение репозитория
404Not FoundРепозиторий не найден
422Unprocessable EntityНевозможно обработать запрос (например, имя занято)