reports/docs/api/sprints.md

5.5 KiB
Raw Blame History

Спринты (Sprint)

Сводка API

Сущность Sprint — закрытый спринт команды со сводными метриками по задачам.

Связанные сущности

  • Команды — родительская сущность (team_id, team_name)
  • Задачи — детализация по задачам спринта: GET /api/sprints/{sprintId}/tasks; все задачи команды: GET /api/teams/{teamId}/tasks

Модель данных

Sprint

{
  "id": 42,
  "team_id": 1,
  "team_name": "ts",
  "jira_sprint_id": 2801,
  "sprint_name": "TS 2026_1 до 26.01",
  "sprint_activate_datetime": "2026-01-13 16:35:37.082+04",
  "sprint_complete_datetime": "2026-01-27 16:07:34.138+04",
  "sprint_completion_percentage": 96.08,
  "lead_time_max": 175,
  "lead_time_min": 1,
  "lead_time_p95": 23.5,
  "lead_time_p80": 15.0,
  "lead_time_p50": 6.0,
  "test_count_max": 4,
  "test_count_min": 0,
  "test_count_p95": 2.0,
  "test_count_p80": 1.0,
  "test_count_p50": 0.0,
  "efficiency_min": 1.46,
  "efficiency_max": 84.17,
  "efficiency_p50": 18.75,
  "recast_max": 109.69,
  "recast_min": -70.83,
  "recast_p95": 88.13,
  "recast_p80": 33.33,
  "recast_p50": -7.5
}

Основные поля

Поле Тип Описание
id integer Идентификатор спринта в БД
team_id integer Идентификатор команды
team_name string Название команды
jira_sprint_id integer Идентификатор спринта в Jira
sprint_name string Название спринта
sprint_activate_datetime string Дата и время начала спринта
sprint_complete_datetime string Дата и время завершения спринта
sprint_completion_percentage number | null Процент закрытия спринта (0100)

Метрики

Lead Time (рабочие дни)

Агрегаты по полю tasks.lead_time_days для всех задач спринта с заполненным Lead Time.

Поле Тип Описание
lead_time_max integer | null Максимум
lead_time_min integer | null Минимум
lead_time_p95 number | null 95-й перцентиль
lead_time_p80 number | null 80-й перцентиль
lead_time_p50 number | null 50-й перцентиль (медиана)

Количество заходов на тестирование

Агрегаты по полю tasks.test_count только для задач, где исполнитель имеет роль backend или frontend.

Поле Тип Описание
test_count_max integer | null Максимум
test_count_min integer | null Минимум
test_count_p95 number | null 95-й перцентиль
test_count_p80 number | null 80-й перцентиль
test_count_p50 number | null 50-й перцентиль

Flow Efficiency (КПД, %)

Агрегаты по полю tasks.efficiency_percentage для всех задач спринта с заполненным значением.

Поле Тип Описание
efficiency_min number | null Минимум
efficiency_max number | null Максимум
efficiency_p50 number | null 50-й перцентиль

Переработка (%, recast_percentage)

Агрегаты по полю tasks.recast_percentage. Отрицательные значения означают выполнение быстрее оценки.

Поле Тип Описание
recast_max number | null Максимум
recast_min number | null Минимум
recast_p95 number | null 95-й перцентиль
recast_p80 number | null 80-й перцентиль
recast_p50 number | null 50-й перцентиль

Перцентили вычисляются в PostgreSQL функцией percentile_cont.


Эндпоинты

GET /api/teams/{teamId}/sprints

Возвращает спринты команды со сводными метриками.

Параметры пути

Параметр Тип Описание
teamId integer Идентификатор команды

Ответ: 200 — массив Sprint[], отсортированный по дате начала (от старых к новым)

Пример

curl http://localhost/api/teams/1/sprints

GET /api/sprints/{sprintId}

Возвращает один спринт со сводными метриками.

Параметры пути

Параметр Тип Описание
sprintId integer Идентификатор спринта

Ответ: 200 — объект Sprint

Ошибки: 404 — спринт не найден

Пример

curl http://localhost/api/sprints/42

См. также: задачи этого спринта