GitHub | Full Issue Thread Markdown Exporter/Downloader

Exports a complete GitHub issue (title, body, all comments, metadata) to clean Markdown via API. Features draggable FAB, Shadow DOM settings panel, and configurable output.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Forfatter
piknockyou
Daglige installasjoner
0
Totale installasjoner
0
Vurderinger
0 0 0
Versjon
2.1
Lagd
26.01.2026
Oppdatert
26.01.2026
Size
106,1 kB
Lisens
AGPL-3.0
Gjelder

If you find this tool helpful & would like to support its maintenance, please consider leaving a tip on:

https://ko-fi.com/piknockyou

Thank you! :-)


For a quick impression of this script, refer to the screenshots at the bottom.


GitHub | Full Issue Thread Markdown Exporter/Downloader

Instantly export complete GitHub issue threads to clean, structured Markdown files. Captures the full conversation including all comments, metadata, cross-references, related PRs, linked commits, and timeline events via the GitHub REST API.

Why You Need This

GitHub's native export options are limited:

  • No built-in export: GitHub doesn't offer a way to download issues as documents.
  • Copy-paste loses structure: Manual copying breaks formatting, loses metadata, and misses comments.
  • API complexity: Fetching complete issue data requires multiple paginated API calls.
  • Context scattered: Related PRs, linked commits, and cross-references are spread across the interface.

This script gives you complete, well-organized exports of any issue with a single click.

What It Does

  • One-click export: A floating button appears automatically on issue pages.
  • API-powered: Fetches directly from GitHub's REST API for complete, accurate data.
  • Clean output: Generates properly formatted Markdown with headers, metadata, and clear structure.
  • Draggable button: Right-click and drag to reposition; location persists across sessions.

Content Captured

  • 📋 Issue Details: Title, state (open/closed/completed), author, timestamps
  • 🏷️ Metadata: Labels, assignees, milestone information
  • 💬 All Comments: Complete comment thread with author attribution and timestamps
  • 👍 Reactions: Emoji reaction counts on issue and comments
  • 🔗 References Section: Deduplicated list of related PRs, linked issues, duplicates, and commits
  • 📜 Timeline (Optional): Verbose audit log including label changes, renames, close/reopen events

Advanced Features

  • 📄 Pagination Handling: Automatically fetches all comments regardless of thread length
  • 🔄 Cross-References: Captures issues/PRs that reference this issue (same-repo and cross-repo)
  • 🔀 Duplicate Detection: Identifies issues marked as duplicates via labels
  • 📝 Commit Links: Includes commits that reference the issue with optional message fetching
  • 📦 Collapsible Comments: Optionally wrap long comments in <details> blocks
  • ⚡ Cancellable: Click during export to abort the operation

⚙️ Configuration

Right-click the export button to open the Settings Panel.

Content Options

  • Include/exclude header metadata (labels, assignees, milestone)
  • Show/hide author information and timestamps
  • Toggle reaction counts
  • Show comment IDs for deep linking

References Section (Recommended)

  • Toggle the entire references section
  • Filter by: same-repo vs cross-repo references
  • Filter by type: Issues, Pull Requests, Duplicates, Commits
  • Optional: Fetch full commit messages (extra API calls)

Timeline Section (Verbose)

  • Enable chronological audit log
  • Filter event types: cross-references, commits, renames, label changes, close/reopen events
  • Useful for understanding the full history of an issue

Formatting

  • Collapse long comments (configurable threshold)
  • Custom separator between comments

Usage

  • Left-click: Download issue as Markdown
  • Right-click: Open the Settings Panel
  • Right-click + Drag: Move the button anywhere on screen

Installation

  1. Install Violentmonkey, Tampermonkey, or Greasemonkey.
  2. Install this script.
  3. Visit any issue on GitHub.com (e.g., github.com/owner/repo/issues/123).

Output Example

The exported Markdown includes:

# Issue Title

> **Repository:** [owner/repo](https://github.com/owner/repo)
> **Issue:** [#123](https://github.com/owner/repo/issues/123)
> **State:** 🟢 open
> **Labels:** `bug`, `help wanted`
> **Created:** Jan 15, 2024

---

## Description

*Opened by [@username](https://github.com/username)* *on Jan 15, 2024*

Issue body content here...

---

## References

### Related Pull Requests (2)
- [owner/repo#456](https://github.com/owner/repo/pull/456) — Fix for this issue (merged Jan 20, 2024)

### Related Issues (1)
- [owner/repo#789](https://github.com/owner/repo/issues/789) — Similar problem (open)

---

## Comments (5)

### Comment #1 — [@contributor](https://github.com/contributor) · Jan 16, 2024

Comment content here...

👍 3 · ❤️ 1

---

...

Technical Details

  • API Used: GitHub REST API v3 with 2022-11-28 version header
  • Endpoints: /repos/{owner}/{repo}/issues/{number}, /comments, /timeline
  • Rate Limits: Respects GitHub API rate limits; warns when approaching threshold
  • Authentication: Works with public repos; private repos require being logged in
  • Pagination: Handles up to 100 items per page, automatically fetches all pages

FAQ

Q: Does this work with private repositories?

A: Yes, as long as you're logged into GitHub in your browser. The script uses your existing session.

Q: Why is the References section separate from Timeline?

A: References provides a clean, deduplicated summary of related items. Timeline is a verbose chronological log of all events. Most users only need References.

Q: What counts as a "duplicate"?

A: Issues that cross-reference this issue AND have a label named "duplicate" (case-insensitive).

Q: Can I export without hitting rate limits?

A: Yes, for most issues. The script fetches efficiently and includes delays between requests. Very large issues with hundreds of comments may approach limits on unauthenticated requests.

Q: Does this work on GitHub Enterprise? A: Currently only github.com. Enterprise support could be added by modifying the @match pattern and API base URL.