๐งโ๐ป Technical Specifications
Engineered for simplicity. Powered by Jira APIs.
โ๏ธ Core Technologies
Flow Time Report is built using:
Atlassian Forge (Cloud Runtime)
React with Forge UI Kit
Jira REST API v3 for issue data
Issue Properties API for metadata persistence
Changelog Expansion API for full status history
๐งฌ Architecture Overview
A lightweight app built with Forge, fetching issue history and rendering interactive UI directly in Jira.
๐ How It Works (Step by Step)
App opens in Jira issue view
โณ The app loads inside the issue panel using Forge UI (@forge/react)Gets context of the current issue
โณ Reads the issue key from the pageFetches issue data from Jira
โณ Uses REST API to get issue details and changelog (/issue?expand=changelog)Parses the status history
โณ Builds a timeline of status transitions with timestampsCalculates duration for each status
โณ Measures time between entering and leaving each statusRenders the UI
โณ Shows the status flow, table with times, and badge selectorSaves badge selections (optional)
โณ Stores custom control badges (On Track, At Risk, Overdue) in issue properties
๐ก APIs Used
API Endpoint | Purpose |
|---|---|
| Fetch issue data and status |
| Get full transition history |
| Read/write badge data |
๐พ Data Storage
Flow Time Report does not store any data externally.
All metadata is stored securely inside the issue via the Jira Issue Property API:
{ "badge-metadata": { "To Do-0": "ontrack", "In Progress-1": "atrisk" } }
๐ Performance
Loads changelog on demand (only once per issue)
Uses efficient in-memory state for calculations
Virtualized DynamicTable for large transitions
Lightweight badge updates via
PUTrequests
๐ก Security
Complies with Atlassian Forge security sandbox
Only interacts with the issue where the app is loaded
Read-only access except for saving badge metadata
Fully OAuth2-authorized within your Jira instance
๐งช Test Coverage
Status parsing logic (unit tested)
Duration calculations (edge case tested)
Badge save/load logic (verified via REST)
Export format functions (CSV, JSON, MD, TXT)
๐งฐ Dev Environment
Forge CLI v11+
Node.js 18+
Linting with ESLint
UI preview in
forge tunnel