3. PUT /repos/{owner}/{repo}/contents/{filename} — создать или обновить файл

3. PUT /repos/{owner}/{repo}/contents/{filename} — Создать или обновить файл

Описание

Создаёт новый файл или обновляет существующий в указанной ветке.

Тело запроса:

{
  "branch": "main",
  "content": "SGVsbG8sIFdvcmxkIQ==",
  "message": "Add new file",
  "new_branch": "feature/new-file",
  "signoff": true
}
ПолеОписание
branchВетка, в которой создаётся/обновляется файл
contentСодержимое файла в кодировке Base64
messageСообщение коммита
new_branchНеобязательно: создание новой ветки
signoffПодписать коммит

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

curl -X PUT "https://api.gitverse.ru/repos/dlborun/APInewTestRepo4.3/contents/hello.txt" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=1" \
  -H "Content-Type: application/json" \
  -d '{
        "branch": "main",
        "content": "SGVsbG8sIFdvcmxkIQ==",
        "message": "Add hello.txt"
      }'

Ответ (200 OK):

{
  "content": {
    "name": "hello.txt",
    "path": "hello.txt",
    "sha": "abc123...",
    "type": "file"
  },
  "commit": {
    "sha": "def456...",
    "url": "https://api.gitverse.ru/commits/def456..."
  }
}