3.7 KiB
3.7 KiB
API отчётов по спринтам
REST API для веб-интерфейса сводки по спринтам. Все ответы — JSON в кодировке UTF-8.
Базовый URL
| Окружение | URL |
|---|---|
| Docker (nginx) | http://localhost/api |
| Локальная разработка | http://localhost:8080/api |
Точка входа: public/index.php.
Общие сведения
- Поддерживаются только GET-запросы (чтение данных).
- Заголовок ответа:
Content-Type: application/json; charset=utf-8. - Авторизация не требуется.
- Даты и время возвращаются в формате PostgreSQL
TIMESTAMPTZ(ISO 8601 с часовым поясом). - Поля с отсутствующими данными имеют значение
null.
Коды ответов
| Код | Описание |
|---|---|
200 |
Успешный ответ |
204 |
OPTIONS (preflight) |
404 |
Маршрут или ресурс не найден |
500 |
Ошибка сервера |
Формат ошибки
{
"error": "Описание ошибки"
}
Документация по сущностям
| Сущность | Описание |
|---|---|
| Команды | Список команд |
| Спринты | Сводные метрики по спринтам |
| Задачи | Задачи, закрытые в спринте |
| Конфигурация | Публичные настройки для фронтенда |
Сводка эндпоинтов
| Метод | Путь | Сущность | Описание |
|---|---|---|---|
GET |
/api/teams |
Team | Список команд |
GET |
/api/teams/{teamId}/sprints |
Sprint | Спринты команды со сводкой |
GET |
/api/sprints/{sprintId} |
Sprint | Один спринт со сводкой |
GET |
/api/sprints/{sprintId}/tasks |
SprintTask | Задачи спринта |
GET |
/api/config |
AppConfig | Публичная конфигурация |
Связи между сущностями
Team ──< Sprint ──< SprintTask
↑
AppConfig (jira_url для ссылок на задачи)
- Team → Sprint:
GET /api/teams/{teamId}/sprints - Sprint → SprintTask:
GET /api/sprints/{sprintId}/tasks - AppConfig используется вместе с SprintTask для ссылок
{jira_url}/browse/{task_key}
Быстрые примеры
curl http://localhost/api/teams
curl http://localhost/api/config
curl http://localhost/api/teams/1/sprints
curl http://localhost/api/sprints/42
curl http://localhost/api/sprints/42/tasks
Подробности — в документации соответствующей сущности.
Реализация
| Компонент | Путь |
|---|---|
| Точка входа | public/index.php |
| Бизнес-логика | src/Features/Reports/ReportsApi.php |
Перцентили в сводке по спринтам вычисляются в PostgreSQL функцией percentile_cont. Подробнее — в документации по спринтам.