ENTERPRISE
Отправка данных в коллектор автотестов осуществляется с помощью HTTP-запросов к API https://<instance-name>/api/public/fm/v1/aggregator.
Описание формата запроса для отправки результатов автотестирования в соответствующий проект
POST /api/public/fm/v1/aggregator
Параметры запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| projectKey | string | да, если не указан заголовок x-fmonq-project-key | нет | Ключ проекта автотестирования |
Возможно использование заголовка запроса для передачи ключа проекта
Заголовки запроса
| Заголовок | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| x-fmonq-project-key | string | да, если не указан параметр projectKey | нет | Ключ проекта автотестирования |
| Content-Type | string | да | нет | Необходимо указать multipart/form-data |
Тело запроса
Тело запроса задается в формате multipart/form-data.
| Ключ | Значение | Описание |
|---|
| build | путь к файлу сборки автотеста: /path/to/<build-path>.zip | Файл результата автотестирования обязательно должен быть в формате архива .zip |
Пример запроса CURL
curl --location --request POST 'https://<instance>/api/public/fm/v1/aggregator' \
--header 'x-fmonq-project-key: <projectKey>' \
--header 'Content-Type: multipart/form-data' \
--form 'build=@"/path/to/<build-path>.zip"'
Коды ответа
| Код | Описание |
|---|
| 201 | Сборка отправлена в конвейер обработки |
| 400 | Не найден файл сборки в теле запроса |
| 400 | Не указан ключ проекта FMonq |
| 400 | Не указано имя файла в заголовке 'Content-Disposition' |
| 400 | Неверный формат файла |
| 415 | Неправильный тип входных данных. Требуется указать тип: multipart/form-data |
| 422 | Проект ФТ не активен |
| 422 | Проект ФТ по указанному ключу не найден |
Распаковать архив сборки
POST /api/public/fm/v1/storage/projects/{projectId}/builds/extract
Распаковывает архив сборки проекта во временном хранилище.
Параметры запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| projectId | integer | да | нет | Идентификатор проекта |
Тело запроса
{
"relativePath": "path/to/archive.zip"
}
Поля тела запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| relativePath | string | да | нет | Относительный путь |
Пример ответа
{
"relativeFilePaths": [
"file1.txt",
"folder/file2.txt"
]
}
Коды ответа
| Код | Описание |
|---|
| 200 | Запрос успешно выполнен |
Удалить временные файлы сборки
DELETE /api/public/fm/v1/storage/projects/{projectId}/builds
Удаляет временные файлы сборки проекта из временного хранилища.
Параметры запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| projectId | integer | да | нет | Идентификатор проекта |
Тело запроса
{
"relativePath": "path/to/folder"
}
Поля тела запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| relativePath | string | да | нет | Относительный путь |
Коды ответа
| Код | Описание |
|---|
| 200 | Запрос успешно выполнен |
Получить список содержимого директории сборки
GET /api/public/fm/v1/storage/projects/{projectId}/builds/content
Возвращает список содержимого директории сборки проекта во временном хранилище.
Параметры запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| projectId | integer | да | нет | Идентификатор проекта |
Тело запроса
{
"relativePath": "path/to/folder"
}
Поля тела запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| relativePath | string | да | нет | Относительный путь |
Пример ответа
{
"relativeFilePaths": [
"file1.txt",
"subfolder/",
"file2.json"
]
}
Коды ответа
| Код | Описание |
|---|
| 200 | Запрос успешно выполнен |
Получить содержимое файла сборки
GET /api/public/fm/v1/storage/projects/{projectId}/builds/content-file
Возвращает содержимое файла сборки проекта во временном хранилище.
Параметры запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| projectId | integer | да | нет | Идентификатор проекта |
Тело запроса
{
"relativePath": "path/to/file.txt"
}
Поля тела запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| relativePath | string | да | нет | Относительный путь |
Пример ответа
{
"lines": [
"line 1 content",
"line 2 content",
"line 3 content"
]
}
Коды ответа
| Код | Описание |
|---|
| 200 | Запрос успешно выполнен |
Скопировать файл сборки в основное хранилище
POST /api/public/fm/v1/storage/projects/{projectId}/builds/{buildId}/copy
Копирует файл из сборки проекта в основное хранилище.
Параметры запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| projectId | integer | да | нет | Идентификатор проекта |
| buildId | uuid | да | нет | GUID сборки |
Тело запроса
{
"relativePath": "path/to/file.txt",
"dateStart": 1704067200,
"fileName": "result.txt"
}
Поля тела запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
|---|
| relativePath | string | да | нет | Относительный путь файла в сборке |
| dateStart | integer | да | нет | Дата начала сборки в формате Unix Timestamp |
| fileName | string | да | нет | Наименование конечного файла |
Пример ответа
{
"relativeUri": "/storage/files/result.txt"
}
Коды ответа
| Код | Описание |
|---|
| 200 | Запрос успешно выполнен |