Custom Plans (AI-built)
Some requests don’t fit a JQL-plus-grouping chart: “SLA performance this month”, “the 10 oldest unresolved issues with days open”, “role counts per project”. For these, Draft with AI composes a custom plan - a small, declarative, read-only pipeline over Atlassian REST APIs, built specifically for your request.
This is what makes Spotlight open-ended: instead of a fixed menu of reports, the AI assembles the report your request needs from safe building blocks.
What a plan is
Section titled “What a plan is”A plan is a JSON definition with two parts:
- Steps - fetch data from Jira REST endpoints, then transform it (filter, group, sort, compute durations, look up related items).
- Outputs - up to six widgets bound to the resulting rows: stat tiles (single numbers), tables, and charts.
When you draft one, Spotlight summarizes exactly which endpoints the plan will read before you save it.
Guardrails
Section titled “Guardrails”Plans run inside a strict sandbox. Every plan - whether AI-drafted or hand-edited - is validated against the same rules before it runs:
| Guardrail | Rule |
|---|---|
| Read-only | GET requests only. A plan cannot write, update, or delete anything. |
| Endpoint whitelist | Only Jira (/rest/api/3), Jira Software (/rest/agile/1.0), and Jira Service Management (/rest/servicedeskapi) APIs. Nothing else - and never anything outside Atlassian. |
| Your permissions | Plans execute in the viewer’s browser with the viewer’s own Jira permissions - a plan can never show you data Jira wouldn’t. |
| Bounded work | At most 8 steps, 30 HTTP calls per run, 25 per-item lookups per step, fetches capped at 1,000 rows per step, 6 output widgets. |
Honest about partial data
Section titled “Honest about partial data”Some lookups can legitimately fail: an SLA endpoint returns 404 for issues that aren’t JSM requests; a 403 means you lack permission for that item. When this happens, the report still renders - and an Incomplete data notice states how many lookups failed, in which step, and with which status codes. Spotlight never silently drops data.
Editing a plan
Section titled “Editing a plan”The plan JSON is visible and editable in the builder (Plan (JSON) field) - power users can adjust filters, columns, or limits directly. Every edit is re-validated against the guardrails above before saving. If you’d rather not touch JSON, re-draft with a refined description instead.
Examples of requests that become plans
Section titled “Examples of requests that become plans”- “SLA performance dashboard for our support project” - JSM SLA lookups per request, aggregated into met/breached stats and a table.
- “10 oldest unresolved issues with days open” - a search plus a computed duration column, sorted and limited.
- “How many people hold each role across our projects?” - project role reads aggregated into a per-role chart.
- Draft with AI - where plans come from.
- Troubleshooting - reading the Incomplete data notice.