2. POST /repos/{owner}/{repo}/git/commits β cΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π° (tree), ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²Π΅ΡΠΊΠΈ ΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΡΠ»ΠΎΠΊ β ΠΎΠ½ Π»ΠΈΡΡ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ Git, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π· /git/refs.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ URL
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | Π’ΠΈΠΏ | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|
owner | string | ΠΠ° | ΠΠ»Π°Π΄Π΅Π»Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ) |
repo | string | ΠΠ° | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ |
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°.
Π’Π΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
Π€ΠΎΡΠΌΠ°Ρ: 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"
}
}| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|
message | string | ΠΠ° | Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° |
tree | string | ΠΠ° | SHA Π΄Π΅ΡΠ΅Π²Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ |
parents | array | ΠΠ΅Ρ* | Π‘ΠΏΠΈΡΠΎΠΊ SHA ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² (ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½; Π΄Π»Ρ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° β ΠΏΡΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ) |
author | object | ΠΠ΅Ρ | ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅ (Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ) |
committer | object | ΠΠ΅Ρ | ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ΅ (Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ) |
π‘ ΠΡΠ»ΠΈ
authorΠΈΠ»ΠΈcommitterΠ½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ, GitVerse ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ.
ΠΠΎΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² author / committer
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|
name | string | ΠΠ° | ΠΠΌΡ Π°Π²ΡΠΎΡΠ°/ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ° |
email | string | ΠΠ° | |
date | string | ΠΠ΅Ρ | ΠΠ°ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ 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
ΠΠΎΠ»Ρ ΠΎΡΠ²Π΅ΡΠ°
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
sha | string | SHA Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° |
url | string | API-ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ |
html_url | string | Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ Π² Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ |
author | object | ΠΠ²ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° |
committer | object | ΠΠΎΠΌΠΌΠΈΡΠ΅Ρ |
message | string | Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° |
tree | object | ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄Π΅ΡΠ΅Π²Π΅ |
parents | array | Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² |
verification | object | ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° (ΠΎΠ±ΡΡΠ½ΠΎ verified: false) |
ΠΠΎΠ΄ΠΏΠΎΠ»Π΅ tree
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
sha | string | SHA Π΄Π΅ΡΠ΅Π²Π° |
url | string | API-ΡΡΡΠ»ΠΊΠ° Π½Π° Π΄Π΅ΡΠ΅Π²ΠΎ |
ΠΠΎΠ΄ΠΏΠΎΠ»Π΅ verification
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
verified | boolean | ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π° Π»ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ |
reason | string | ΠΡΠΈΡΠΈΠ½Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, unsigned) |
signature | string | null | ΠΠΎΠ΄ΠΏΠΈΡΡ (Π΅ΡΠ»ΠΈ Π΅ΡΡΡ) |
payload | string | null | ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ |
ΠΠΎΠ΄Ρ ΠΎΡΠ²Π΅ΡΠ°
| ΠΠΎΠ΄ | Π‘ΡΠ°ΡΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
| 201 | Created | ΠΠΎΠΌΠΌΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ |
| 400 | Bad Request | ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ° |
| 403 | Forbidden | ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠ°Π² Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ |
| 404 | Not Found | Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ |
| 422 | Unprocessable Entity | ΠΡΠΈΠ±ΠΊΠ° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ SHA Π΄Π΅ΡΠ΅Π²Π°) |
| 500 | Internal Server Error | ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° |