Skip to content
andreescocardPublic

About

Chrome extension: export any Jira issue (description, comments, attachments) to clean Markdown, ready for AI coding agents.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

jira2md

📋 jira2md

one click. full issue. clean markdown.

Stars Last Commit License

What is this? • Features • Installation • Usage • Claude Code integration • Tech Stack


A Chrome extension that runs on any Jira issue page and converts the full issue — title, description, comments, and attachments — into a clean Markdown document, directly in your browser.

Built for real development work:

  • export faster
  • document without copy-pasting
  • keep issues versioned in Markdown
  • feed issue context directly into AI tools

What is this?

jira2md is a browser tool for converting Jira issues into portable Markdown.

Not a Jira replacement.
Not a sync service.
Not a SaaS product.

Just a practical thing for when you need:

  • a local copy of an issue
  • Markdown for your docs or PR description
  • attachments bundled alongside the write-up
  • a clean snapshot of a ticket to feed into an AI coding assistant

Features

  • One-click export — button appears on every Jira issue page
  • Modal editor — review and edit Markdown before saving
  • Live preview — rendered HTML alongside the raw editor
  • Copy to clipboard — one click, paste anywhere
  • Asset bundling — downloads attachments alongside the .md file as a .zip
  • GFM support — tables, task lists, and strikethrough via GitHub Flavored Markdown
  • Claude Code integration — send the issue directly to Claude Code in your VS Code terminal
  • No server required — everything runs locally in the browser

Modal Layout

┌─────────────────────────────────────────┬──────────────────────┐
│  Header (key + title)                   │                      │
├──────────────────────┬──────────────────┤  🟠 Send to Claude   │
│                      │                  │  ─────────────────   │
│   Markdown Editor    │  Live Preview    │  📋 Copy Clipboard   │
│                      │                  │  📦 Download .zip    │
│                      │                  │  ⬇  Download .md     │
│                      │                  │                      │
│                      │                  │  ✕  Cancel           │
└──────────────────────┴──────────────────┴──────────────────────┘

Before / After

Without jira2md

Open the issue.
Select all. Copy. Paste. Format manually.
Lose the tables. Lose the task lists.
Re-download attachments one by one.

With jira2md

Click the button.
Review the Markdown.
Copy, download, or send straight to Claude Code.

Same result. Much less friction.

Installation

jira2md is a developer-mode Chrome extension — it is not on the Chrome Web Store. You load it directly from the folder.

Step-by-step

1. Get the files

Option A — Clone with Git:

git clone https://github.com/andreescocard/jira2md.git

Option B — Download ZIP:
Go to the repository page → click Code → Download ZIP → extract the folder anywhere on your computer.

2. Open Chrome Extensions

In your Chrome address bar, type:

chrome://extensions

and press Enter.

3. Enable Developer Mode

In the top-right corner of the Extensions page, toggle Developer mode ON.
You will see three new buttons appear: Load unpacked, Pack extension, Update.

4. Load the extension

Click Load unpacked → navigate to and select the jira2md folder (the one that contains manifest.json).
The extension appears in your list with the name jira2md.

5. Pin it to your toolbar (optional but recommended)

Click the puzzle-piece icon 🧩 in Chrome's toolbar → find jira2md → click the pin icon 📌.
The jira2md icon will stay visible in your toolbar.

6. Open any Jira issue

Navigate to any issue at *.atlassian.net/browse/*.
The jira2md button appears automatically on the page.

Keeping it up to date

After pulling new changes from the repo, go back to chrome://extensions and click the ↺ refresh icon on the jira2md card. No reinstall needed.

Usage

  1. Open any Jira issue in Chrome
  2. Click the jira2md button on the issue page
  3. Review the generated Markdown in the modal editor
  4. Toggle preview to verify rendering
  5. Pick an action from the right-side button column:
    • Send to Claude Code — pipes the issue to Claude Code in your VS Code terminal
    • Copy to Clipboard — paste into any tool
    • Download .zip — Markdown + all attachments bundled
    • Download .md — Markdown file only

Claude Code Integration (VS Code)

Send any Jira issue directly to Claude Code running in your VS Code terminal.

How it works

Chrome extension  →  POST  →  relay.js (localhost)  →  claude <issue.md>

Setup

1. Start the relay in your VS Code terminal:

node relay.js                        # writes to current directory
node relay.js C:\projects\my-repo    # custom output directory
node relay.js --no-claude            # write file only, skip claude
node relay.js --port 7338            # custom port

2. Click "Send to Claude Code" in the modal.

The relay writes PROJ-123_issue-title.md to your output directory and runs:

claude PROJ-123_issue-title.md

Claude Code opens in the terminal with the full issue as context.

Requirements

  • Claude Code installed (npm i -g @anthropic-ai/claude-code)
  • Node.js (to run relay.js)

If the relay is not running, the button shows "Relay offline" — no crash, no silent failure.

Known Limitations

  • Comments — Only comments currently rendered on the page are exported. If Jira displays a "load more comments" control, the export includes a note that older comments were not loaded.
  • Internal comment detection — Restricted or JSM-internal comments are labelled **[INTERNAL]** where they can be positively detected; absence of the label does not indicate a comment is public.
  • Comment images — Images embedded in comments are converted to text markers ([image: filename]) because Atlassian media URLs are token-signed and expire after the page session.

Testing

For contributors: open test/test.html in a browser to run the pure Markdown helper functions through a suite of unit tests. The page title will display PASS or list any failures. This covers only the string-transformation functions, not the DOM interaction code.

Known Bugs & Missing Features

# Status Description
1 ✅ Fixed Checkboxes not rendering on export — task list items appear as raw - [ ] / - [x] text instead of rendered checkboxes in the downloaded .md output
2 Missing Child tickets not included in export — sub-tasks / child issues linked to the parent ticket are not exported; only the parent is captured. A summary of child tickets (key + title + status) should appear at the bottom of the export

Tech Stack

Library Purpose
Turndown HTML → Markdown conversion
Turndown GFM Plugin Tables & task lists
JSZip ZIP bundle creation in the browser

Project Structure

jira2md/
├── content.js                  # Main extension logic
├── relay-client.js             # Modal layout patches + Claude Code button
├── relay.js                    # Local relay server (run in VS Code terminal)
├── styles.css                  # Modal & button styles
├── manifest.json               # Chrome extension manifest (MV3)
├── icon48.png                  # Extension icon (48×48)
├── icon128.png                 # Extension icon (128×128)
└── libs/
    ├── turndown.js
    ├── turndown-plugin-gfm.js
    └── jszip.min.js

Support

If jira2md saves you time, consider buying me a coffee ☕

Buy Me a Coffee

License

MIT

About

Chrome extension: export any Jira issue (description, comments, attachments) to clean Markdown, ready for AI coding agents.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages