Exports Jira work items to Obsidian markdown format with versioned snapshots.
- ✅ Read active Obsidian file and extract jira.id
- ✅ Authenticate with Jira
- ✅ Fetch work item data
- ✅ Create directory structure (Jira-*/Attachments/Comments)
- ✅ Generate markdown with YAML frontmatter
- ✅ Update active file with import history table
- ✅ Improved field extraction for all 26 mapped fields
- ✅ Jira markup to Markdown conversion (headings, lists, bold, italic, code, links)
- ✅ Dual-format issue links: KEY [[KEY]]
- ✅ Format Parent/Linked Issues properly
- ✅ Handle dates, users, arrays
- ✅ Better metadata section with type, status, assignee
- ✅ Fetch attachment list from Jira API
- ✅ Download attachments to timestamped directory
- ✅ Distinguish images from other files
- ✅ Replace Jira image URLs with ![[filename]]
- ✅ Handle duplicate filenames
- ✅ List all attachments in dedicated section
- ✅ Fetch comments from issue
- ✅ Format each comment with author/date
- ✅ Convert Jira markup in comment bodies
- ✅ Replace image references in comments
- ✅ Generate separate markdown file
- ✅ Transclusion reference in main file
- Error handling
- Logging
- Validation checks
cd .obsidian/scripts/python/jira_exporter
pip install -r requirements.txtPhase 1-4 Complete:
- ✅ Versioned snapshots with timestamps for time-travel
- ✅ All 26 Jira fields exported to YAML frontmatter
- ✅ Jira markup automatically converted to Markdown
- ✅ Dual-format links:
[KEY](url) [[KEY]]for Obsidian navigation - ✅ Parent/Linked Issues with relationship types
- ✅ Automatic attachment download
- ✅ Image references replaced with
![[filename]]syntax - ✅ Inline images in description + Attachments section
- ✅ Full comments export with formatting
- ✅ Comments transclusion in main file
- ✅ Import history table in active file
- ✅ Proper handling of users, dates, arrays, custom fields
Coming Soon:
- 🛡️ Error handling & logging (Phase 5)
python src/main.py <path-to-obsidian-file>Example:
python src/main.py "C:\workspaces\obsidian_vault\Projects\Managed\P15349 Dashboard Aliases.md"The script uses the existing Jira configuration from jira_summarizer:
- Config file:
.obsidian/scripts/python/jira_summarizer/src/jira.config - Or set environment variables:
JIRA_SERVER,JIRA_EMAIL,JIRA_TOKEN
Projects/Managed/
├── P15349 Dashboard Aliases.md (updated with import history)
└── Jira - PRODUCT-15349/
├── PRODUCT-15349 - 2026-01-29 12-30-45.md
├── Attachments/
│ └── 2026-01-29 12-30-45/
└── Comments/
└── PRODUCT-15349-comments-2026-01-29 12-30-45.md
2026-01-29 - Phase 4 Complete
- Full comments export with author and timestamps
- Jira markup conversion in comments
- Image references replaced in comments
- Transclusion syntax for seamless viewing in Obsidian
2026-01-29 - Phase 3 Complete
- Automatic attachment download from Jira
- Image references replaced with Obsidian
![[filename]]syntax - Dedicated Attachments section with images and files
- Duplicate filename handling
2026-01-29 - Phase 2 Complete
- Added Jira markup to Markdown conversion
- Improved field formatting (users, dates, arrays)
- Dual-format issue links for Obsidian
- Enhanced metadata section
- Better list handling (nested lists, ordered/unordered)
2026-01-29 - Phase 1 Complete
- Initial implementation
- Basic export with YAML frontmatter
- Directory structure creation
- Import history table