5. GET /repos/{owner}/{repo}/git/trees/{tree_sha} — получить содержимое дерева Git по SHA или ветке (включая рекурсию)

5. GET /repos/{owner}/{repo}/git/trees/{tree_sha} — получить содержимое дерева Git по SHA или ветке (включая рекурсию)
New

Описание

Возвращает структуру файлов и папок, связанную с указанным деревом Git.

Можно использовать имя ветки вместо tree_sha.

Если передан параметр recursive=true — будут возвращены все вложенные элементы.

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

ПараметрОбязательныйОписание
ownerДаЛогин владельца репозитория
repoДаНазвание репозитория
tree_shaДаSHA хэш дерева или имя ветки
recursiveНетЕсли true — возвращаются все вложенные элементы

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

curl -X GET "https://api.gitverse.ru/repos/dlborun/APInewTestRepo4.3/git/trees/main?recursive=true" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse+json;version=1"

Ответ (200 OK):

{
  "sha": "d163f5441a88f215b1c3e7856d839eff9414f601",
  "url": "http://localhost:3000/api/v1/repos/gammaUser/CatAndGrepUtils/git/trees/d163f5441a88f215b1c3e7856d839eff9414f601",
  "tree": [
    {
      "path": ".gitignore",
      "mode": "100644",
      "type": "blob",
      "size": 473,
      "sha": "8e70c8b4ff45b7104f6f3576b9ba6936032cc74d",
      "url": "http://localhost:3000/api/v1/repos/gammaUser/CatAndGrepUtils/git/blobs/8e70c8b4ff45b7104f6f3576b9ba6936032cc74d"
    },
    {
      "path": "src",
      "mode": "040000",
      "type": "tree",
      "size": 0,
      "sha": "d0244a1fafb32d8917d7c77d8c23ee2e8b58cc3c",
      "url": "http://localhost:3000/api/v1/repos/gammaUser/CatAndGrepUtils/git/trees/d0244a1fafb32d8917d7c77d8c23ee2e8b58cc3c"
    }
  ],
  "truncated": false
}
ПолеОписание
shaSHA дерева
tree.pathПуть к файлу или папке
tree.modeРежим файла (например, 100644 для blob, 040000 для дерева)
tree.typeТип: file или dir
tree.shaSHA хэш файла или дерева
truncatedБыла ли обрезана выдача (если true)