ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ APIΠ‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Git2. POST /repos/{owner}/{repo}/git/commits - ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚

2. POST /repos/{owner}/{repo}/git/commits β€” cΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚

ОписаниС

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° основС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° (tree), сообщСния ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².
Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ обновляСт Π²Π΅Ρ‚ΠΊΠΈ ΠΈ Π½Π΅ создаСт ссылок β€” ΠΎΠ½ лишь Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² истории Git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ впослСдствии ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для обновлСния Π²Π΅Ρ‚ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· /git/refs.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ URL

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π’ΠΈΠΏΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
ownerstringΠ”Π°Π’Π»Π°Π΄Π΅Π»Π΅Ρ† рСпозитория (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ организация)
repostringДаНазваниС рСпозитория

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса.

Π’Π΅Π»ΠΎ запроса

Π€ΠΎΡ€ΠΌΠ°Ρ‚: application/json
ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля:

{
  "message": "feat: add new config file",
  "tree": "d3adb33f1234567890abcdef1234567890abcdef",
  "parents": ["a1b2c3d4e5f6789012345678901234567890abcd"],
  "author": {
    "name": "Alice Developer",
    "email": "alice@example.com",
    "date": "2025-10-23T12:00:00Z"
  },
  "committer": {
    "name": "Alice Developer",
    "email": "alice@example.com",
    "date": "2025-10-23T12:00:00Z"
  }
}
ΠŸΠΎΠ»Π΅Π’ΠΈΠΏΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
messagestringΠ”Π°Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
treestringΠ”Π°SHA Π΄Π΅Ρ€Π΅Π²Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт состояниС Ρ„Π°ΠΉΠ»ΠΎΠ² Π² этом ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅
parentsarrayНСт*Бписок SHA Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ΄ΠΈΠ½; для ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° β€” пустой массив ΠΈΠ»ΠΈ отсутствуСт)
authorobjectΠΠ΅Ρ‚Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅ (Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ)
committerobjectΠΠ΅Ρ‚Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅Ρ€Π΅ (Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ)

πŸ’‘ Если author ΠΈΠ»ΠΈ committer Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, GitVerse ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя.

Поля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² author / committer

ΠŸΠΎΠ»Π΅Π’ΠΈΠΏΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
namestringΠ”Π°Π˜ΠΌΡ Π°Π²Ρ‚ΠΎΡ€Π°/ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅Ρ€Π°
emailstringΠ”Π°Email
datestringНСтДата Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ISO 8601 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 2025-10-23T12:00:00Z)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса

curl -X POST "https://api.gitverse.ru/repos/gitverse/example-repo/git/commits" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=1" \
  -H "Content-Type: application/json" \
  -d '{
        "message": "docs: update changelog",
        "tree": "d3adb33f1234567890abcdef1234567890abcdef",
        "parents": ["a1b2c3d4e5f6789012345678901234567890abcd"]
      }'

ΠžΡ‚Π²Π΅Ρ‚ (201 Created)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ JSON-ΠΎΡ‚Π²Π΅Ρ‚Π°:

{
  "sha": "f00dcafe1234567890abcdef1234567890abcdef",
  "url": "https://api.gitverse.ru/repos/gitverse/example-repo/git/commits/f00dcafe1234567890abcdef1234567890abcdef",
  "html_url": "https://gitverse.ru/gitverse/example-repo/commit/f00dcafe1234567890abcdef1234567890abcdef",
  "author": {
    "name": "Alice Developer",
    "email": "alice@example.com",
    "date": "2025-10-23T12:00:00Z"
  },
  "committer": {
    "name": "Alice Developer",
    "email": "alice@example.com",
    "date": "2025-10-23T12:00:00Z"
  },
  "message": "docs: update changelog",
  "tree": {
    "sha": "d3adb33f1234567890abcdef1234567890abcdef",
    "url": "https://api.gitverse.ru/repos/gitverse/example-repo/git/trees/d3adb33f1234567890abcdef1234567890abcdef"
  },
  "parents": [
    {
      "sha": "a1b2c3d4e5f6789012345678901234567890abcd",
      "url": "https://api.gitverse.ru/repos/gitverse/example-repo/git/commits/a1b2c3d4e5f6789012345678901234567890abcd",
      "html_url": "https://gitverse.ru/gitverse/example-repo/commit/a1b2c3d4e5f6789012345678901234567890abcd"
    }
  ],
  "verification": {
    "verified": false,
    "reason": "unsigned",
    "signature": null,
    "payload": null
  }
}

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°

application/vnd.gitverse.object+json;version=1

Поля ΠΎΡ‚Π²Π΅Ρ‚Π°

ПолСВипОписаниС
shastringSHA Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
urlstringAPI-ссылка Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚
html_urlstringБсылка Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π²Π΅Π±-интСрфСйсС
authorobjectАвтор ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
committerobjectΠšΠΎΠΌΠΌΠΈΡ‚Π΅Ρ€
messagestringΠ‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
treeobjectΠ˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Π΄Π΅Ρ€Π΅Π²Π΅
parentsarrayБписок Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²
verificationobjectΠ˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ подписи ΠΊΠΎΠΌΠΌΠΈΡ‚Π° (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ verified: false)

ПодполС tree

ПолСВипОписаниС
shastringSHA Π΄Π΅Ρ€Π΅Π²Π°
urlstringAPI-ссылка Π½Π° Π΄Π΅Ρ€Π΅Π²ΠΎ

ПодполС verification

ПолСВипОписаниС
verifiedbooleanΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π° Π»ΠΈ подпись
reasonstringΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, unsigned)
signaturestring | nullПодпись (Ссли Π΅ΡΡ‚ΡŒ)
payloadstring | nullΠŸΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

ΠšΠΎΠ΄Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚Π°

ΠšΠΎΠ΄Π‘Ρ‚Π°Ρ‚ΡƒΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
201CreatedΠšΠΎΠΌΠΌΠΈΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создан
400Bad RequestНСкоррСктныС Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π΅Π»Π΅ запроса
403ForbiddenНСдостаточно ΠΏΡ€Π°Π² для записи Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
404Not FoundΠ Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½
422Unprocessable EntityОшибка Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСдопустимый SHA Π΄Π΅Ρ€Π΅Π²Π°)
500Internal Server ErrorВнутрСнняя ошибка сСрвСра

Π’Ρ‹ нашли Ρ‡Ρ‚ΠΎ искали?