Skip to content

Repository files navigation

Obsidian Issues Sync

Sync GitHub and GitLab issues (with comments and attachments) into your Obsidian vault as structured Markdown files.

Features

  • GitHub: Sync issues + comments from one or more repositories
  • GitLab: Sync issues + comments from:
    • Specific projects (by project ID)
    • Groups (all projects in a group, including subgroups)
    • Entire instance (all accessible projects)
  • Per-target output directory: Each sync target can specify its own output folder
  • Title-based filenames: Issues are saved as {issue-title}.md
  • Attachment support: Download and save images and attachments from issues
  • Incremental sync: Only fetches updates since the last run
  • Filter by label: Per repo/scope label filtering
  • Ribbon icon + Command palette commands

Installation

  1. Download main.js, manifest.json, and styles.css into your vault's .obsidian/plugins/obsidian-issues-sync/ folder
  2. Enable the plugin in Obsidian Settings → Community Plugins
  3. Configure your tokens and sync targets in the plugin settings

Output Structure

my-github-issues/
└── octocat-hello-world/
    ├── fix-login-bug.md
    ├── add-dark-mode.md
    └── assets/
        └── screenshot.png

my-gitlab-issues/
└── my-group/
    └── my-project/
        ├── update-readme.md
        ├── refactor-api.md
        └── assets/
            └── diagram.png

Each issue file contains:

  • YAML frontmatter (title, number, state, author, labels, dates, URL)
  • Issue description
  • All comments with author and timestamp

Commands

Command Description
Sync all configured issues Sync both GitHub and GitLab
Sync GitHub issues only Only sync GitHub repos
Sync GitLab issues only Only sync GitLab scopes
Test GitLab connection Verify GitLab API connection
Test GitHub connection Verify GitHub API connection
Reset last sync timestamp Force a full resync next time

Configuration

General

Setting Description
Default output folder Default vault folder for issues (can be overridden per target)
Incremental sync Only sync issues updated since last run
Download attachments Download images and attachments from issues

GitHub

Setting Description
Personal access token GitHub PAT (optional for public repos)
Repositories List of owner/repo with optional output directory

GitLab

Setting Description
Instance URL Base URL of your GitLab instance
Personal access token GitLab PAT with read_api scope
Scopes project <ID>, group <ID>, or instance with optional output directory

Token Scopes

  • GitHub: repo scope for private repos; no token needed for public repos
  • GitLab: read_api scope

Debugging

Open Obsidian Developer Tools (Cmd+Option+I on Mac) and check the Console tab for detailed logs prefixed with [Issues Sync].

About

Obsidian plugin to sync GitHub/GitLab issues with comments and attachments

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages