1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/panda26-gitlab

Клонировать/Скачать
repositories.md 7.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 26.05.2025 02:09 64486eb

API репозиториев

Получение списка файлов и директорий репозитория

Получение списка файлов и директорий в проекте. Этот конечный пункт может быть доступен без аутентификации, если репозиторий является общедоступным.

Эта команда предоставляет аналогичную функциональность команде git ls-tree. Для получения дополнительной информации см. раздел Tree Objects в документации Git internals.

GET /projects/:id/repository/tree

Параметры:

  • id (обязательный) - Идентификатор или URL-кодированный путь проекта, принадлежащий аутентифицированному пользователю
  • path (необязательный) - Путь внутри репозитория. Используется для получения содержимого поддиректорий
  • ref (необязательный) - Имя ветки или тега репозитория или, если не указано, используется основная ветка
  • recursive (необязательный) - Логическое значение для получения рекурсивного дерева (по умолчанию false)```json [ { "id": "a1e8f8d745cc87e3a9248358d9352bb7f9a0aeba", "name": "html", "type": "tree", "path": "files/html", "mode": "040000" }, { "id": "4535904260b1082e14f867f7a24fd8c21495bde3", "name": "images", "type": "tree", "path": "files/images", "mode": "040000" }, { "id": "31405c5ddef582c5a9b7a85230413ff90e2fe720", "name": "js", "type": "tree", "path": "files/js", "mode": "040000" }, { "id": "cc71111cfad871212dc99572599a568bfe1e7e00", "name": "lfs", "type": "tree", "path": "files/lfs", "mode": "040000" }, { "id": "fd581c619bf59cfdfa9c8282377bb09c2f897520", "name": "markdown", "type": "tree", "path": "files/markdown", "mode": "040000" }, { "id": "23ea4d11a4bdd960ee5320c5cb65b5b3fdbc60db", "name": "ruby", "type": "tree", "path": "files/ruby", "mode": "040000" }, { "id": "7d70e02340bac451f281cecf0a980907974bd8be", "name": "whitespace", "type": "blob", "path": "files/whitespace", "mode": "100644" } ]

Позволяет получить информацию о blob-файле в репозитории, включая размер и содержимое. Обратите внимание, что содержимое blob-файла закодировано в Base64. Этот конечный пункт может быть доступен без аутентификации, если репозиторий является общедоступным.

GET /projects/:id/repository/blobs/:sha


Параметры:

- `id` (обязательный) - ID или [URL-кодированное имя проекта](README.md#namespaced-path-encoding), принадлежащее аутентифицированному пользователю
- `sha` (обязательный) - SHA коммита или имя ветки

## Содержимое сырого блоба

Получите содержимое файла для блоба по его SHA. Этот конечный пункт может быть доступен без аутентификации, если репозиторий является общедоступным.

GET /projects/:id/repository/blobs/:sha/raw


Параметры:

- `id` (обязательный) - ID или [URL-кодированное имя проекта](README.md#namespaced-path-encoding), принадлежащее аутентифицированному пользователю
- `sha` (обязательный) - SHA блоба

## Получить архив репозитория

Получите архив репозитория. Этот конечный пункт может быть доступен без аутентификации, если репозиторий является общедоступным.

GET /projects/:id/repository/archive


Параметры:

- `id` (обязательный) - ID или [URL-кодированное имя проекта](README.md#namespaced-path-encoding), принадлежащее аутентифицированному пользователю
- `sha` (необязательный) - SHA коммита для загрузки, по умолчанию используется вершина основной ветки## Сравнение веток, тегов или коммитов

Этот конечный пункт может быть доступен без аутентификации, если репозиторий является общедоступным.

GET /projects/:id/repository/compare


Параметры:

- `id` (обязательный) - ID или [URL-кодированное имя проекта](README.md#namespaced-path-encoding), принадлежащее аутентифицированному пользователю
- `from` (обязательный) - SHA коммита или имя ветки
- `to` (обязательный) - SHA коммита или имя ветки

GET /projects/:id/repository/compare?from=master&to=feature


Ответ:

```json
{
  "commit": {
    "id": "12d65c8dd2b2676fa3ac47d955accc085a37a9c1",
    "short_id": "12d65c8dd2b",
    "title": "JS исправление",
    "author_name": "Дмитрий Запорожец",
    "author_email": "dmitriy.zaporozhets@gmail.com",
    "created_at": "2014-02-27T10:27:00+02:00"
  },
  "commits": [{
    "id": "12d65c8dd2b2676fa3ac47d955accc085a37a9c1",
    "short_id": "12d65c8dd2b",
    "title": "JS исправление",
    "author_name": "Дмитрий Запорожец",
    "author_email": "dmitriy.zaporozhets@gmail.com",
    "created_at": "2014-02-27T10:27:00+02:00"
  }],
  "diffs": [{
    "old_path": "files/js/application.js",
    "new_path": "files/js/application.js",
    "a_mode": null,
    "b_mode": "100644",
    "diff": "--- a/files/js/application.js\n+++ b/files/js/application.js\n@@ -24,8 +24,10 @@\n //= require g.raphael-min\n //= require g.bar-min\n //= require branch-graph\n-//= require highlightjs.min\n-//= require ace/ace\n //= require_tree .\n //= require d3\n //= require underscore\n+\n+function fix() { \n+  alert(\"Исправлено\")\n+}",
    "new_file": false,
    "renamed_file": false,
    "deleted_file": false
  }],
  "compare_timeout": false,
  "compare_same_ref": false
}

Участники

Получение списка участников репозитория. Этот конечный пункт можно получить без аутентификации, если репозиторий доступен публично.``` GET /projects/:id/repository/contributors


Параметры:

- `id` (обязательный) - ID или [URL-кодированное имя пространства имен проекта](README.md#кодирование-имен-пространств-имен) для проекта, принадлежащего аутентифицированному пользователю

Ответ:

[{ "name": "Дмитрий Запорожец", "email": "dmitriy.zaporozhets@gmail.com", "commits": 117, "additions": 2097, "deletions": 517 }, { "name": "Якоб Восмаер", "email": "contact@jacobvosmaer.nl", "commits": 33, "additions": 338, "deletions": 244 }]


Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/panda26-gitlab.git
git@api.gitlife.ru:oschina-mirror/panda26-gitlab.git
oschina-mirror
panda26-gitlab
panda26-gitlab
master