Issue Charts
Issue charts are Spotlight’s core source: any JQL query, grouped by a field, measured by a metric, drawn as a chart.
The three axes
Section titled “The three axes”An issue chart is defined by three choices on top of your JQL:
Chart type
Section titled “Chart type”| Type | Best for |
|---|---|
| Bar chart | Comparing categories (assignees, priorities, projects) |
| Pie chart | Share-of-total views with a handful of categories |
| Line chart | Trends over time (pair with the Created date grouping) |
Group by
Section titled “Group by”| Grouping | Categories |
|---|---|
| Status | Status names (In Progress, Done, …) |
| Assignee | Display names; unassigned issues appear as Unassigned |
| Issue type | Bug, Story, Task, … |
| Priority | Highest → Lowest; issues without one appear as None |
| Project | Project names |
| Resolution | Resolution names; open issues appear as Unresolved |
| Created date (monthly) | Calendar-month buckets (e.g. 2026-07) - made for line charts |
Metric
Section titled “Metric”| Metric | The number per category |
|---|---|
| Issue count (default) | How many issues |
| Story points (sum) | Sum of story points |
| Time spent (hours) | Sum of logged work, in hours |
| Avg resolution time (days) | Average of resolved − created, in days |
Notes on metrics:
- Story points is a custom field whose ID varies per site. Spotlight discovers it automatically - including both the company-managed field (Story Points) and the team-managed one (Story point estimate), so mixed sites aggregate correctly. If your site has no story points field at all, Spotlight blocks saving with a clear message rather than saving a chart that would render empty.
- Avg resolution time only counts issues that actually resolved - categories with nothing resolved are omitted rather than shown as a misleading zero. It can’t be drawn as a pie chart (slicing an average into shares is meaningless); Spotlight enforces bar or line.
JQL validation
Section titled “JQL validation”Spotlight never guesses at JQL correctness:
- The query is checked against Jira’s own JQL parser - you see Jira’s actual error message, not a re-implementation’s.
- Before saving, the query is dry-run against the search API. Jira requires bounded queries (e.g.
ORDER BY keyalone parses fine but is rejected) - the dry run catches this class, so a spotlight that can never render is never saved.
A chart aggregates up to 1,000 matching issues (fetched in pages from Jira’s search API). If your query matches more, narrow it - add a project or a date window - for exact numbers.
Every render is live
Section titled “Every render is live”Issue charts store the JQL, not the results. Each time the chart renders - in your gallery, in the team gallery, or on a dashboard - it re-runs the query with the viewer’s permissions and shows current data.
- Draft with AI - describe the chart instead of building it.
- Dashboard Gadget - pin a chart to a Jira dashboard.