Перейти к основному содержимому
Версия: 9.1

API - Автотесты

ENTERPRISE

Отправка данных в коллектор автотестов осуществляется с помощью HTTP-запросов к API https://<instance-name>/api/public/fm/v1/aggregator.

Описание формата запроса для отправки результатов автотестирования в соответствующий проект

POST /api/public/fm/v1/aggregator

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

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
projectKeystringда, если не указан заголовок x-fmonq-project-keyнетКлюч проекта автотестирования

Возможно использование заголовка запроса для передачи ключа проекта

Заголовки запроса

ЗаголовокТипОбязательный параметрЗначение по умолчаниюОписание
x-fmonq-project-keystringда, если не указан параметр projectKeyнетКлюч проекта автотестирования
Content-TypestringданетНеобходимо указать 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

Распаковывает архив сборки проекта во временном хранилище.

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

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
projectIdintegerданетИдентификатор проекта

Тело запроса

{
"relativePath": "path/to/archive.zip"
}

Поля тела запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
relativePathstringданетОтносительный путь

Пример ответа

{
"relativeFilePaths": [
"file1.txt",
"folder/file2.txt"
]
}

Коды ответа

КодОписание
200Запрос успешно выполнен

Удалить временные файлы сборки

DELETE /api/public/fm/v1/storage/projects/{projectId}/builds

Удаляет временные файлы сборки проекта из временного хранилища.

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

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
projectIdintegerданетИдентификатор проекта

Тело запроса

{
"relativePath": "path/to/folder"
}

Поля тела запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
relativePathstringданетОтносительный путь

Коды ответа

КодОписание
200Запрос успешно выполнен

Получить список содержимого директории сборки

GET /api/public/fm/v1/storage/projects/{projectId}/builds/content

Возвращает список содержимого директории сборки проекта во временном хранилище.

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

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
projectIdintegerданетИдентификатор проекта

Тело запроса

{
"relativePath": "path/to/folder"
}

Поля тела запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
relativePathstringданетОтносительный путь

Пример ответа

{
"relativeFilePaths": [
"file1.txt",
"subfolder/",
"file2.json"
]
}

Коды ответа

КодОписание
200Запрос успешно выполнен

Получить содержимое файла сборки

GET /api/public/fm/v1/storage/projects/{projectId}/builds/content-file

Возвращает содержимое файла сборки проекта во временном хранилище.

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

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
projectIdintegerданетИдентификатор проекта

Тело запроса

{
"relativePath": "path/to/file.txt"
}

Поля тела запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
relativePathstringданетОтносительный путь

Пример ответа

{
"lines": [
"line 1 content",
"line 2 content",
"line 3 content"
]
}

Коды ответа

КодОписание
200Запрос успешно выполнен

Скопировать файл сборки в основное хранилище

POST /api/public/fm/v1/storage/projects/{projectId}/builds/{buildId}/copy

Копирует файл из сборки проекта в основное хранилище.

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

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
projectIdintegerданетИдентификатор проекта
buildIduuidданетGUID сборки

Тело запроса

{
"relativePath": "path/to/file.txt",
"dateStart": 1704067200,
"fileName": "result.txt"
}

Поля тела запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
relativePathstringданетОтносительный путь файла в сборке
dateStartintegerданетДата начала сборки в формате Unix Timestamp
fileNamestringданетНаименование конечного файла

Пример ответа

{
"relativeUri": "/storage/files/result.txt"
}

Коды ответа

КодОписание
200Запрос успешно выполнен