Файлы
Метод для получения содержимого файла
GET /project/{ownerAlias}/{projectAlias}/blob?commitHash={commitHash}&file={fileName}
Запрос возвращает содержимое файла, который был изменен в указанном коммите, строкой. Если размер файла больше, чем 15МБ, или же он бинарный/картинка необходимо использовать следующий метод
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
commitHash |
String | Обязательный параметр. Хэш коммита, который хранит необходимое состояние репозитория |
fileName |
String | Обязательный параметр. Полный путь до файла вместе с его названием и расширением |
Для увеличения максимального размера файла, содержимое которого можно получить, необходимо добавить в файл application.properties параметр gitflic.rest.maxBlobSize с указанием размера в байтах.
Responses
STATUS 200
пример JSON:
Пример содержимого файла
STATUS 400
- Невозможно преобразовать бинарный файл или изображение в строку, чтобы скачать содержимое.
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для получения потока байт
GET /project/{ownerAlias}/{projectAlias}/blob/download?commitHash={commitHash}&file={fileName}
Запрос возвращает содержимое файла, который был изменен в указанном коммите, строкой. Если размер файла больше, чем 15МБ, или же он бинарный/картинка, запрос возвращает поток байт файла
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
commitHash |
String | Обязательный параметр. Хэш коммита, который хранит необходимое состояние репозитория |
fileName |
String | Обязательный параметр. Полный путь до файла вместе с его названием и расширением |
Responses
STATUS 200
- Успешное получение потока байт
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.
Метод для получения списка файлов
GET /project/{ownerAlias}/{projectAlias}/blob/recursive?commitHash={commitHash}&directory={directory}&depth={depth}
Запрос возвращает список файлов с их полным путём, размером в байтах и расширением, начиная с определенной папки и до определенной глубины. Папки не возвращаются.
Переменная пути запроса | Тип | Описание |
---|---|---|
ownerAlias |
String | Псевдоним владельца проекта |
projectAlias |
String | Псевдоним проекта |
commitHash |
String | Обязательный параметр. Хэш коммита, который хранит необходимое состояние репозитория |
directory |
String | Не обязательный параметр. Начальная папка, с которой будет начинаться поиск файлов. Если не указать, то поиск происходит из корня репозитория |
depth |
Integer | Не обязательный параметр. Глубина поиска. Если не указать, то подставляется 0. Файлы, лежащие в корневой директории считаются файлами нулевой глубины. Максимальная глубина - 10 |
Для увеличения максимальной глубины поиска, необходимо добавить в файл application.properties параметр gitflic.rest.maxRecursionDepth с указанием предельной глубины.
Responses
STATUS 200
пример JSON:
[
{
"filePath": ".gitignore",
"extension": ".gitignore",
"size": 290
},
{
"filePath": "CODEOWNERS",
"extension": ".null",
"size": 32
},
{
"filePath": "README.md",
"extension": ".md",
"size": 7507
},
{
"filePath": "app.blade.php",
"extension": ".php",
"size": 4387
},
{
"filePath": "gitflic-ci.yaml",
"extension": ".yaml",
"size": 594
},
]
STATUS 403
- Нет прав для доступа.
STATUS 404
- Данные по запросу не найдены.