Файлы


Метод для получения содержимого файла

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 - Данные по запросу не найдены.