A simple yet powerful CLI tool written in Rust to synchronize your Jira issues into an Obsidian Vault. It pulls tasks assigned to you, converts them into Markdown files, and generates a dynamic Kanban board compatible with the Obsidian Kanban plugin.
- One-Way Sync: Fetches issues from Jira (JQL:
assignee = currentUser()) and updates/creates Markdown files in your vault. - Rich Content: Converts Jira ADF (Atlassian Document Format) descriptions into clean Markdown.
- Metadata: Adds Frontmatter (YAML) with status, priority, link, and sync date.
- Safe Updates: Preserves your personal notes in the Markdown file (everything under
%% GÜVENLİ BÖLGE %%). - Kanban Board: Automatically generates a
JiraKanban.mdfile, grouping your tasks by their actual Jira status headers.
-
Clone the repository:
git clone https://github.com/your-username/jira-obsidian-sync.git cd jira-obsidian-sync -
Configure Environment: Create a
.envfile in the root directory with the following variables:# Jira Cloud URL (e.g., your-company.atlassian.net) JIRA_SERVER=your-domain.atlassian.net # Your Jira Email JIRA_USER=your-email@example.com # Jira API Token (Create one at: https://id.atlassian.com/manage-profile/security/api-tokens) JIRA_API_TOKEN=your_api_token_here # Local path to your Obsidian Vault folder where files will be saved OBSIDIAN_PATH=/Users/username/Documents/ObsidianVault/Jira
Run the tool using Cargo:
cargo runOr build a release binary:
cargo build --release
./target/release/jira_obsidian_syncThe tool will:
- Connect to Jira.
- Fetch all issues assigned to you.
- Create/Update individual
.mdfiles for each task. - Generate
JiraKanban.mdwith your tasks organized by status.
Made with Rust 🦀