Nabheet Madan38 downloadsSync one or many Jira projects into your vault as notes, and view a local, filterable KPI dashboard (projects, sprints, assignees, statuses).
Jira Sync Projects Issues Dashboard
Mirror one or many Jira projects into your Obsidian vault — one note per issue, organized by project — and view a local, filterable KPI dashboard on top of them: completion, overdue, workload-by-assignee, weekly productivity, and bug accountability. Works against Jira Cloud and Jira Server / Data Center. Read-only, desktop-only.
📖 Setting up? See SETUP.md for connection options, API tokens/PATs, custom-field detection, large-instance tuning, and troubleshooting.
Desktop-only — it makes HTTPS requests to your Jira instance via Node's
requestUrl. Not available on Obsidian mobile.
requestUrl — no third-party server,
no CORS proxy.jira-cache.json) so the dashboard renders
instantly and works offline once synced.GET requests. It never creates, edits,
or deletes anything in Jira.Open it from the ribbon icon (kanban square), the "Open dashboard" command, or by dropping a fenced block into any note:
```jira-dashboard ```
Multi-select by project, sprint, assignee, status, issue type, priority, plus free-text search and an Open only toggle. Filters cascade: choosing a project narrows the sprint / assignee / status / type / priority dropdowns to that project's values. Projects show their friendly name, not the key.
Total · To-Do · In-Progress · Done · Completion % · Overdue · Due ≤ 7 days · Unassigned · Story points (done/total) · Average resolution time.
Total & open bug counts, Top 5 projects by bug count, and Top 5 developers by bug count (matches Bug/Defect issue types).
Open count, open story points, overdue, done, and next due date per person — click a name to focus their individual KPIs.
By project, status, priority, and sprint, as inline stacked bar charts (To-Do / In-Progress / Done). No external chart library — CSP-safe, zero network.
Sortable, searchable; click an issue key to open its note (or Jira, if note writing is disabled).
Tip: the ribbon dashboard view is always full width. The
jira-dashboardcode block also expands to full width even when your note uses "Readable line length".
13-Jira/ ← your chosen target folder
_Dashboard.md ← embeds the ```jira-dashboard``` block
_Index.md ← projects & issue counts
Payments/ ← per-project folder, named by project name
_PAY.md ← project summary + open issues
PAY-123 — Fix login race.md ← one note per issue
Alliance/
_ALM.md
ALM-4 — Onboard partner.md
Each issue note carries frontmatter you can query with Dataview/Bases:
---
key: PAY-123
project: PAY
type: Bug
status: In Progress
status_category: indeterminate
priority: High
assignee: Alice Smith
reporter: Bob Lee
sprint: Sprint 14
story_points: 5
created: 2026-06-01T10:00:00.000+0530
updated: 2026-07-08T14:22:00.000+0530
due: 2026-07-10
resolution:
labels: [mobile, auth]
url: https://your-site.atlassian.net/browse/PAY-123
---
From source:
npm install
npm run build # typecheck + produce main.js
VAULT="/path/to/your/vault" npm run install:vault
That copies main.js, manifest.json, and styles.css into
<vault>/.obsidian/plugins/jira-sync-dashboard/. Then in Obsidian: Settings →
Community plugins → Installed plugins → enable Jira Sync & Dashboard.
Manual: copy main.js, manifest.json, styles.css into
<vault>/.obsidian/plugins/jira-sync-dashboard/ yourself and enable it.
12-Jira).Connection
https://your-site.atlassian.net (no trailing slash)./myself and reports the account + deployment type.Projects & scope
labels = mobile.updated for the first sync (empty = all history).Custom fields
Vault
Rate limiting
Automation
Diagnostics
[jira] console output.Maintenance
On big Jira sites (thousands of boards/sprints, thousands of projects):
429 Too Many Requests.updated
timestamp it has written; the next sync fetches only issues changed since then
(with a 1-minute overlap buffer). Dedup is by issue key, so overlaps never
duplicate./rest/api/3/search/jql endpoint (the old offset /search was removed by
Atlassian and returns 410 Gone). Server/DC uses the classic
/rest/api/2/search with startAt/total.Jira · <last sync> / Jira · PAY 340 (or 340/1200 on
Server) / Jira · rebuilding … / Jira · error.[jira] console output (open devtools with
Ctrl/Cmd+Shift+I). The auth token is never logged.data.json inside your vault. Keep the vault private; the token is never
logged. Prefer a scoped API token / PAT over a full account password.requestUrl — no third-party server, no analytics, no telemetry.GET requests; it never writes to Jira.npm install
npm run dev # esbuild watch, rebuilds main.js on change
npm run typecheck # tsc --noEmit
npm run build # typecheck + production bundle
Source layout:
src/main.ts — plugin lifecycle, ribbon, status bar, commands, timer, view + code-block registration, rebuild-from-cache.src/types.ts — shared types + defaults.src/settings.ts — settings UI (connection, projects, fields, rate limiting, automation, maintenance).src/jira/client.ts — auth, requestUrl, error mapping, throttle, rate-limit backoff.src/jira/api.ts — projects, JQL search (Cloud token / Server offset), boards/sprints, field detection, normalization.src/sync.ts — orchestration, incremental cursors, cache + note upsert, cancellation.src/notes.ts — filename sanitizing, friendly-name folders, frontmatter, race-tolerant writes.src/cache.ts — cache load/save, filtering, KPI / workload / weekly-productivity / top-N aggregation.src/dashboard/view.ts — ItemView host.src/dashboard/render.ts — filter bar, KPI cards, productivity & bug sections, tables, bar/column charts (DOM).Released under the MIT License © 2026 Nabheet Madan.
This project is an independent, community-built plugin. It is not affiliated with, endorsed by, or sponsored by Atlassian. "Jira" is a trademark of Atlassian.