API сценаріїв QA, кейсів і тестових сесій
Автоматизуйте підготовку сценаріїв, починайте сесії, записуйте результати кейсів, створюйте пов’язані помилки та завершуйте QA.
Перед початком
Базова адреса REST — https://tasker.fit/api. Створіть активний токен у профілі та передавайте Authorization: Bearer <your-api-token>. Замініть ID прикладів значеннями, отриманими для свого облікового запису.
Планування робочого процесу
Запити QA передають company_id і board_id у query. Створення сценаріїв і кейсів передає дані в JSON. Поле сценарію при створенні кейса — scenario, а фільтр списку — scenario_id. Ієрархію задає parent_id. Початок включає нащадків і потребує колонки типу todo.
Результати належать звітам кейсів. Змінюйте їх за case_report_id зі статусом pending, done чи bug. Для помилки передавайте actual_result, severity та priority. Завершення приймає sessions_id у JSON — саме таке написання. Звіти повертаються в масиві case_reports сесії.
Приклад
Автоматизуйте підготовку сценаріїв, починайте сесії, записуйте результати кейсів, створюйте пов’язані помилки та завершуйте QA.
Покрокові інструкції / 1
Процес інтеграції
Створіть сценарій, потім кейси з числовим ID у полі scenario.
Почніть сесію й збережіть її ID та ID case_reports. Запишіть результат кожної перевірки.
Запишіть фактичну поведінку, серйозність і пріоритет помилок. Завершуйте після перевірки всіх кейсів.
Очікуваний результат: Прочитайте об’єкт data та збережіть ідентифікатори для наступних запитів. Перевіряйте HTTP-статус перед підтвердженням успіху запису.
Endpoint та приклади запитів
ID, токени й дати в прикладах замініть власними значеннями. Кожен приклад показує поля для конкретної дії, а не повну схему відповіді.
| Метод | Маршрут | Дія |
|---|---|---|
| GET | /features/qa/scenarios/list/ | Список сценаріїв |
| POST | /features/qa/scenarios/list/ | Створити сценарій |
| GET | /features/qa/scenarios/ | Отримати сценарій |
| PATCH | /features/qa/scenarios/ | Перейменувати сценарій |
| DELETE | /features/qa/scenarios/ | Видалити сценарій і залежні дані QA |
| GET | /features/qa/cases/list/ | Список тестових кейсів |
| POST | /features/qa/cases/list/ | Створити кейс |
| GET | /features/qa/cases/ | Отримати кейс |
| PATCH | /features/qa/cases/ | Змінити інструкції кейса |
| DELETE | /features/qa/cases/ | Видалити кейс |
| GET | /features/qa/sessions/ | Список активних сесій |
| POST | /features/qa/sessions/start/ | Почати сесію |
| PATCH | /features/qa/sessions/cases/ | Позначити кейс пройденим |
| PATCH | /features/qa/sessions/cases/ | Зареєструвати збій кейса |
| PATCH | /features/qa/sessions/finish/ | Завершити перевірену сесію |
/api/features/qa/scenarios/list/Список сценаріїв
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE"
}Додаткові поля: parent_id, page, limit, q
Приклад cURL
curl --request GET 'https://tasker.fit/api/features/qa/scenarios/list/?company_id=demo&board_id=RELEASE' \
--header 'Authorization: Bearer <your-api-token>'/api/features/qa/scenarios/list/Створити сценарій
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE"
}Тіло JSON (приклад)
{
"title": "Checkout",
"parent_id": null
}Додаткові поля: position
Приклад cURL
curl --request POST 'https://tasker.fit/api/features/qa/scenarios/list/?company_id=demo&board_id=RELEASE' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"title": "Checkout",
"parent_id": null
}'/api/features/qa/scenarios/Отримати сценарій
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"scenario_id": 1
}Приклад cURL
curl --request GET 'https://tasker.fit/api/features/qa/scenarios/?company_id=demo&board_id=RELEASE&scenario_id=1' \
--header 'Authorization: Bearer <your-api-token>'/api/features/qa/scenarios/Перейменувати сценарій
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"scenario_id": 1
}Тіло JSON (приклад)
{
"title": "Checkout regression"
}Додаткові поля: position
Приклад cURL
curl --request PATCH 'https://tasker.fit/api/features/qa/scenarios/?company_id=demo&board_id=RELEASE&scenario_id=1' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"title": "Checkout regression"
}'/api/features/qa/scenarios/Видалити сценарій і залежні дані QA
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"scenario_id": 1
}Приклад cURL
curl --request DELETE 'https://tasker.fit/api/features/qa/scenarios/?company_id=demo&board_id=RELEASE&scenario_id=1' \
--header 'Authorization: Bearer <your-api-token>'/api/features/qa/cases/list/Список тестових кейсів
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"scenario_id": 1
}Приклад cURL
curl --request GET 'https://tasker.fit/api/features/qa/cases/list/?company_id=demo&board_id=RELEASE&scenario_id=1' \
--header 'Authorization: Bearer <your-api-token>'/api/features/qa/cases/list/Створити кейс
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE"
}Тіло JSON (приклад)
{
"scenario": 1,
"title": "Reject expired card",
"description": "Verify payment validation",
"steps_to_reproduce": "Submit an expired test card",
"expected_result": "Payment is rejected"
}Приклад cURL
curl --request POST 'https://tasker.fit/api/features/qa/cases/list/?company_id=demo&board_id=RELEASE' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"scenario": 1,
"title": "Reject expired card",
"description": "Verify payment validation",
"steps_to_reproduce": "Submit an expired test card",
"expected_result": "Payment is rejected"
}'/api/features/qa/cases/Отримати кейс
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"case_id": 2
}Приклад cURL
curl --request GET 'https://tasker.fit/api/features/qa/cases/?company_id=demo&board_id=RELEASE&case_id=2' \
--header 'Authorization: Bearer <your-api-token>'/api/features/qa/cases/Змінити інструкції кейса
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"case_id": 2
}Тіло JSON (приклад)
{
"expected_result": "A clear validation message appears"
}Додаткові поля: title, description, steps_to_reproduce
Приклад cURL
curl --request PATCH 'https://tasker.fit/api/features/qa/cases/?company_id=demo&board_id=RELEASE&case_id=2' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"expected_result": "A clear validation message appears"
}'/api/features/qa/cases/Видалити кейс
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"case_id": 2
}Приклад cURL
curl --request DELETE 'https://tasker.fit/api/features/qa/cases/?company_id=demo&board_id=RELEASE&case_id=2' \
--header 'Authorization: Bearer <your-api-token>'/api/features/qa/sessions/Список активних сесій
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"is_active": true
}Додаткові поля: page, limit, q
Приклад cURL
curl --request GET 'https://tasker.fit/api/features/qa/sessions/?company_id=demo&board_id=RELEASE&is_active=true' \
--header 'Authorization: Bearer <your-api-token>'/api/features/qa/sessions/start/Почати сесію
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE"
}Тіло JSON (приклад)
{
"scenario_id": 1
}Приклад cURL
curl --request POST 'https://tasker.fit/api/features/qa/sessions/start/?company_id=demo&board_id=RELEASE' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"scenario_id": 1
}'/api/features/qa/sessions/cases/Позначити кейс пройденим
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"case_report_id": 3
}Тіло JSON (приклад)
{
"status": "done"
}Приклад cURL
curl --request PATCH 'https://tasker.fit/api/features/qa/sessions/cases/?company_id=demo&board_id=RELEASE&case_report_id=3' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"status": "done"
}'/api/features/qa/sessions/cases/Зареєструвати збій кейса
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE",
"case_report_id": 3
}Тіло JSON (приклад)
{
"status": "bug",
"actual_result": "Payment succeeds",
"severity": "major",
"priority": "high"
}Приклад cURL
curl --request PATCH 'https://tasker.fit/api/features/qa/sessions/cases/?company_id=demo&board_id=RELEASE&case_report_id=3' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"status": "bug",
"actual_result": "Payment succeeds",
"severity": "major",
"priority": "high"
}'/api/features/qa/sessions/finish/Завершити перевірену сесію
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"company_id": "demo",
"board_id": "RELEASE"
}Тіло JSON (приклад)
{
"sessions_id": 2
}Приклад cURL
curl --request PATCH 'https://tasker.fit/api/features/qa/sessions/finish/?company_id=demo&board_id=RELEASE' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"sessions_id": 2
}'Поради й вирішення проблем
- Приклади показують основні поля запиту, а не всі додаткові поля чи повну схему відповіді. Query-поля передавайте в URL, JSON-поля — у тілі. Зберігайте кінцеві слеші адрес.
- Завершені сесії у вебінтерфейсі доступні лише для перегляду. Запис визначають права й валідація API. Помилка вважається перевіреним результатом; завершення не виправляє пов’язаний дефект.
Поширені запитання
Чи можна використовувати приклади з будь-яким обліковим записом?
Читати й змінювати можна лише доступні токену ресурси. Використовуйте отримані ID просторів, дошок, завдань і числових ресурсів; демонстраційні значення є заповнювачами.
Що робити інтеграції при помилці запиту?
Перевірте HTTP-статус і відповідь помилки. Перевірте ID, обов’язкові поля, активність, строк токена та права. Не повторюйте POST наосліп: попередня спроба могла вже створити ресурс.