feat(apollo-vertex): Roadmap Status page with live Jira data#962
feat(apollo-vertex): Roadmap Status page with live Jira data#962hfrancis31 wants to merge 1 commit into
Conversation
Adds a /design-system-status page (nav: "Roadmap status", positioned directly under Introduction) that reads live from the VS Horizontal UX Jira board and displays three sections: Recently Delivered, Coming Soon, and Backlog. - lib/jira.ts: Jira Cloud REST API v3 client with cursor pagination and ADF text extraction (handles plain text and smartlink inlineCard nodes) - lib/jira-resolve.ts: maps raw issues to ProcessedCard objects, resolves delivered links via explicit Vertex URL > convention slug > Jira fallback, extracts epic from parent field - app/api/jira/route.ts: GET handler returning board data as JSON - app/design-system-status/page.mdx + _components/status-board.tsx: async server component rendering the three-column card board - app/_meta.ts: adds "Roadmap status" nav entry below Introduction Credentials required: JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN in .env.local (local) or Vercel environment variables (production). Board filter: label = "horizontal-ux"; delivered filter: label = "ds-delivered". Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Dependency License Review
License distribution
Excluded packages
|
There was a problem hiding this comment.
Pull request overview
Adds a new Apollo Vertex documentation page that surfaces “Roadmap status” using live data from the VS Horizontal UX Jira board, including basic card processing (sectioning, badges, epic display) and delivered-link resolution rules.
Changes:
- Added Jira integration utilities to query issues and extract text from Jira ADF descriptions.
- Added issue processing + delivered-link resolution (explicit
Vertex:link, convention-based slug lookup, Jira fallback). - Added a new
/design-system-statuspage (and sidebar entry) rendering a three-section status board, plus an/api/jiraendpoint.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| apps/apollo-vertex/lib/jira.ts | Fetches Jira issues via JQL with pagination; includes ADF text extraction helper. |
| apps/apollo-vertex/lib/jira-resolve.ts | Transforms raw Jira issues into board sections/cards and resolves delivered links. |
| apps/apollo-vertex/app/design-system-status/page.mdx | Adds the new “Roadmap status” MDX page that mounts the status board. |
| apps/apollo-vertex/app/design-system-status/_components/status-board.tsx | Implements the status board UI, error state, and server-side data fetch. |
| apps/apollo-vertex/app/api/jira/route.ts | Adds a JSON API endpoint that returns the processed board data. |
| apps/apollo-vertex/app/_meta.ts | Adds “Roadmap status” to the sidebar under Introduction. |
| } else if (section === "coming-soon") { | ||
| // Review/In Review sorts before In Progress — closer to landing | ||
| const sl = statusName.toLowerCase(); | ||
| if (sl === "in review" || sl === "review") comingSoon.unshift(card); | ||
| else comingSoon.push(card); | ||
| } else { |
| @@ -0,0 +1,235 @@ | |||
| import Link from "next/link"; | |||
| description="Shipped in the last 30 days. Links go directly to the Vertex page." | ||
| icon={<CheckCircle2 className="size-5 shrink-0 text-success" />} | ||
| cards={data.delivered} | ||
| empty="Nothing shipped in the last 30 days." |
| title: Roadmap status | ||
| --- | ||
|
|
||
| import { StatusBoard } from './_components/status-board' |
| export async function GET(_req: NextRequest) { | ||
| try { | ||
| const issues = await fetchJiraIssues(); | ||
| const jiraBaseUrl = process.env.JIRA_BASE_URL ?? 'https://uipath.atlassian.net'; | ||
| const data = processIssues(issues, jiraBaseUrl); | ||
| return NextResponse.json(data, { | ||
| headers: { 'Cache-Control': 'no-store' }, | ||
| }); | ||
| } catch (e) { | ||
| const message = e instanceof Error ? e.message : String(e); | ||
| return NextResponse.json({ error: message }, { status: 500 }); | ||
| } |
📊 Coverage + size by packagePer-package bundle size on this PR (no JS/TS source changes detected under
"Coverage" is each package's own |
Summary
/design-system-statuspage surfaced as "Roadmap status" in the sidebar, positioned directly under Introductionlabel = "horizontal-ux") and displays three sections: Recently Delivered, Coming Soon, and Backlogds-deliveredJira label appearVertex: <url>in description (supports both plain text and Jira smartlinks) → convention slug lookup → Jira URL fallbackEnvironment variables required
Add to
.env.locallocally and to the Vercel project for production:How to add tickets to the Delivered section
Add the
ds-deliveredlabel to the Jira ticket. No code change needed.How to set the Vertex link on a delivered card
Add
Vertex: https://...as a line in the Jira ticket description.Test plan
/design-system-statusand confirm three sections render with live datads-delivered-labelled ticket(s)Vertex:URL navigates to the Vertex page (not Jira)🤖 Generated with Claude Code