5. GET /repos/{owner}/{repo}/contents/{path} β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ Π²Π΅ΡΠΊΠ΅/ΡΠ΅Π³Ρ ΠΈ Π²ΡΠ±ΠΎΡ ΡΡΠΎΠ²Π½Ρ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
β οΈ ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Base64-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π² ΠΏΠΎΠ»Π΅
content.
ΠΠ»Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ β ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ .
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ URL
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
owner | ΠΠ° | ΠΠ»Π°Π΄Π΅Π»Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ) |
repo | ΠΠ° | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ |
path | ΠΠ° | ΠΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, src/, README.md) |
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ° (query)
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | Π’ΠΈΠΏ | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
|---|---|---|---|---|
ref | string | ΠΠ΅Ρ | ΠΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π²Π΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π³Π°. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π΅ΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (default_branch) | β |
scope | string | ΠΠ΅Ρ | Π£ΡΠΎΠ²Π΅Π½Ρ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅: full β ΠΏΠΎΠ»Π½Π°Ρ, fast β ΡΠΎΠ»ΡΠΊΠΎ SHA ΠΈ Π΄Π°ΡΠ° | fast |
Π’Π΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅Π»Π° Π·Π°ΠΏΡΠΎΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°
curl -X GET "https://api.gitverse.ru/repos/alice/my-project/contents/README.md" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1"ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅
curl -X GET "https://api.gitverse.ru/repos/alice/my-project/contents/src?ref=dev&scope=full" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1"ΠΡΠ²Π΅Ρ
ΠΠ»Ρ ΡΠ°ΠΉΠ»Π° (200 OK)
{
"type": "file",
"encoding": "base64",
"size": 123,
"name": "README.md",
"path": "README.md",
"content": "IyBN... (Base64)",
"sha": "a1b2c3d4...",
"url": "https://api.gitverse.ru/repos/alice/my-project/contents/README.md",
"html_url": "https://gitverse.ru/alice/my-project/blob/main/README.md",
"git_url": "https://api.gitverse.ru/repos/alice/my-project/git/blobs/a1b2c3d4...",
"download_url": "https://gitverse.ru/alice/my-project/raw/main/README.md",
"language": "Markdown",
"_links": {
"self": "https://api.gitverse.ru/repos/alice/my-project/contents/README.md",
"git": "https://api.gitverse.ru/repos/alice/my-project/git/blobs/a1b2c3d4...",
"html": "https://gitverse.ru/alice/my-project/blob/main/README.md"
}
}ΠΠ»Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ (200 OK)
[
{
"type": "file",
"name": "index.js",
"path": "src/index.js",
"sha": "f1e2d3c4...",
"size": 456,
"url": "https://api.gitverse.ru/repos/alice/my-project/contents/src/index.js",
"html_url": "https://gitverse.ru/alice/my-project/blob/main/src/index.js",
"git_url": "https://api.gitverse.ru/repos/alice/my-project/git/blobs/f1e2d3c4...",
"download_url": "https://gitverse.ru/alice/my-project/raw/main/src/index.js",
"_links": {
"self": "https://api.gitverse.ru/repos/alice/my-project/contents/src/index.js",
"git": "https://api.gitverse.ru/repos/alice/my-project/git/blobs/f1e2d3c4...",
"html": "https://gitverse.ru/alice/my-project/blob/main/src/index.js"
}
},
{
"type": "dir",
"name": "utils",
"path": "src/utils",
"sha": "9a8b7c6d...",
"size": 0,
"url": "https://api.gitverse.ru/repos/alice/my-project/contents/src/utils",
"html_url": "https://gitverse.ru/alice/my-project/tree/main/src/utils",
"git_url": "https://api.gitverse.ru/repos/alice/my-project/git/trees/9a8b7c6d...",
"download_url": null,
"_links": {
"self": "https://api.gitverse.ru/repos/alice/my-project/contents/src/utils",
"git": "https://api.gitverse.ru/repos/alice/my-project/git/trees/9a8b7c6d...",
"html": "https://gitverse.ru/alice/my-project/tree/main/src/utils"
}
}
]Π€ΠΎΡΠΌΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°
application/vnd.gitverse.object+json;version=1
ΠΠΎΠ»Ρ ΠΎΡΠ²Π΅ΡΠ° (ΡΠ°ΠΉΠ»)
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
type | string | Π’ΠΈΠΏ: "file", "dir", "symlink" ΠΈΠ»ΠΈ "submodule" |
encoding | string | ΠΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ (base64 Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²) |
size | integer | Π Π°Π·ΠΌΠ΅Ρ Π² Π±Π°ΠΉΡΠ°Ρ
(Π΄Π»Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ β 0) |
name | string | ΠΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ |
path | string | ΠΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΎΡ ΠΊΠΎΡΠ½Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ |
content | string ΠΈΠ»ΠΈ null | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² Base64 (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ type: "file") |
sha | string | SHA-Ρ Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Git |
url | string | API-ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ |
html_url | string | Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ |
git_url | string | Π‘ΡΡΠ»ΠΊΠ° Π½Π° Git-ΠΎΠ±ΡΠ΅ΠΊΡ (blob/tree) |
download_url | string ΠΈΠ»ΠΈ null | ΠΡΡΠΌΠ°Ρ ΡΡΡΠ»ΠΊΠ° Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ (null Π΄Π»Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ) |
language | string ΠΈΠ»ΠΈ null | Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ) |
_links | object | ΠΠ±ΡΠ΅ΠΊΡ ΡΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ: self, git, html |
ΠΠΎΠ΄Ρ ΠΎΡΠ²Π΅ΡΠ°
| ΠΠΎΠ΄ | Π‘ΡΠ°ΡΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
| 200 | OK | Π£ΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ |
| 206 | Partial Content | Π§Π°ΡΡΠΈΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ (ΠΏΡΠΈ scope=fast) |
| 400 | Bad Request | ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ° |
| 401 | Unauthorized | ΠΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΠΈΠ»ΠΈ Π½Π΅Π²Π°Π»ΠΈΠ΄Π΅Π½ ΡΠΎΠΊΠ΅Π½ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ |
| 403 | Forbidden | ΠΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΡΠΈ |
| 500 | Internal Server Error | ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° |
4. DELETE /repos/{owner}/{repo} β ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ6. PUT /repos/{owner}/{repo}/contents/{filename} β ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ»