Тема
Тест-планы, требования и аналитика
Тест-планы
GET /api/plans,POST /api/plans,GET|PUT|DELETE /api/plans/:key— сохранённая подборка кейсов (caseIds) для многократного выполнения. Ключи —TP-1,TP-2, … в каждом проекте. У тест-плана должно быть название, и каждый указанный ключ должен быть кейсом проекта; каждый кейс входит в план один раз.milestoneKey(ключ или название,null— снять) называет майлстоун, для которого выполняется план; план возвращается сmilestoneKeyиmilestoneName.GET /api/plans/:key/cases— кейсы плана, а вmissing— ключи кейсов, удалённых с тех пор.POST /api/plans/:key/cases{ caseIds }добавляет кейсы, пропуская те, что уже есть в плане.GET /api/plans/:key/progress— состояние плана по всем его прогонам: для каждого кейса — последний вердикт, который дал ему любой прогон плана (status,customStatus,runId,executedAt,executedBy),totalsпо вердиктам иruns— сколько прогонов прочитано. Если план выполнялся в двух конфигурациях или больше, есть такжеbyConfiguration:[{ label: "Chrome", totals }].GET /api/plans/:key/testplan— автотесты плана в формате файла, который читают адаптеры Allure (ALLURE_TESTPLAN_PATH):{ version: "1.0", tests: [{ id?, selector? }] }, а рядомautomatedиmanual(ключи кейсов без автотеста). Читается и ключом CI с правомruns:import; так его берётkvalli testplan— см. Автотесты тест-плана в CI.POST /api/plans/:key/pipeline{ branch?, sourceId?, workflowName?, workflowFile? }— запустить пайплайн CI сKVALLI_PLAN= ключ плана (201,{ pipeline, automated, manual }; нужноpipelines:trigger). План без единого автотеста не запускается (400). Результаты, загруженные из этого пайплайна, относятся к плану.
Ручной прогон по тест-плану запускается через POST /api/runs/manual с planKey — см. Ручные прогоны. О версиях плана при одновременном редактировании — в разделе Одновременное редактирование.
Требования и трассируемость
GET /api/requirements— требования с кейсами, привязанными к каждому.POST /api/requirements— создать требование. Ключ можно передать (импортированныйSHOP-42), иначе он назначается какREQ-n.GET|PUT|DELETE /api/requirements/:key— прочитать, изменить или удалить требование. Ссылка требования должна быть адресомhttp(s).POST /api/requirements/:key/cases,DELETE /api/requirements/:key/cases/:caseId— привязать или отвязать тест-кейс.GET /api/requirements/coverage— по каждому требованию: сколько кейсов его покрывают и что сказал о каждом последний прогон. Учитывается только самый последний вердикт кейса, а привязанный кейс, который ни один прогон не выполнял, показывается как ни разу не запускавшийся, а не как пройденный.
Аналитика
Эндпоинты /api/analytics входят в модуль analytics (тариф Pro).
GET /api/analytics/summary?days=30 — процент прохождения и его тренд, процент прохождения по наборам, самые часто падающие тесты и нестабильные тесты. Тест считается нестабильным, если в пределах окна он и проходил, и падал на одном и том же окружении; вместе с ним возвращается число смен вердикта. Результаты тестов, не назвавших кейс, не относятся ни к какому набору; их число возвращается как unlinkedResults.