1.3 KiB
1.3 KiB
engineer — Jira statusDurations + movements + chart #17
Date: 2026-08-27 · v2.3.0
Built
- Seed:
dump-to-archives.mjsenriches the jira map withstatusDurations(ms) fromjira_board_state.colIssues[*]._statusDurations(keyed to RITM via customfield_26001), and addsjiraColumns(workflow order) to config. 95 jira entries / 73 DB tickets get durations. - Types:
JiraInfo+=statusDurations: Record<string,number>,movements:{at,who?,from?,to?}[].ForgeConfig+=jiraColumns. - Server:
analytics.getJiraDurations()averagesjira.statusDurationsper status (ms→days), injiraColumnsorder, min-2 tickets.GET /api/analytics/jira-durations(requireRole pm). - Client: Active-stats page fetches it and renders a "Jira status durations (avg days)" BarList.
- Extension:
collectFromJiraaddsexpand=changelog;jiraFromChangelog(issue)reconstructs time-per-status (created → transitions → now) and movements, sent insidejira.
Verified (live)
/api/analytics/jira-durations→ 18 statuses, workflow-ordered (Analysis…Closed) then extras; e.g. UAT 16.1d/21, Closed 23.5d/16, In-Progress 4.9d/37. server+client tsc clean; build OK; 9/9 tests.