Skip to main content

OmniFocus Jira Sync

A one-way sync plugin that imports Jira issues into OmniFocus as tasks using JQL queries. Jira remains your source of truth while OmniFocus becomes your task execution environment.

Installation

Get started by installing the plugin in OmniFocus

Configuration

Configure your Jira credentials and sync preferences

JQL queries

Learn how to filter issues with Jira Query Language

Usage guide

Understand incremental and full refresh syncing

Key features

This plugin provides powerful sync capabilities while keeping your Jira data secure:

JQL-based filtering

Sync only the issues you care about using flexible JQL queries

Incremental sync

Fetch only recently updated issues for faster daily syncing

Full refresh sync

Clean up tasks that no longer match your Jira query

Secure credentials

Store your API token safely in macOS Keychain

Status mapping

Automatically map Jira statuses to OmniFocus task states

Project organization

Group tasks by Jira parent issues or epics

How it works

The plugin creates a one-way sync from Jira to OmniFocus:
1

Query Jira

The plugin uses your JQL query to fetch matching issues from your Jira instance
2

Create or update tasks

Each Jira issue becomes an OmniFocus task with the format [JIRA-KEY] Issue Summary
3

Sync metadata

Due dates, descriptions, and statuses are synchronized from Jira to OmniFocus
4

Map statuses

Jira statuses like “Done” and “Closed” automatically complete OmniFocus tasks
This is a read-only plugin. It never modifies your Jira issues, only reads from them to update OmniFocus.

Task mapping

Each Jira issue is converted to an OmniFocus task with these fields:
  • Task name: [JIRA-KEY] Issue Summary
  • Due date: Synced from Jira’s due date field
  • Notes: Contains link to the issue, current status, and description
  • Tags: Assigned your configured tag name (e.g., Work:JIRA)
  • Status: Mapped based on Jira status:
    • Done, Closed, Resolved → Completed
    • Withdrawn → Dropped
    • Other statuses → Active
Tasks are identified by the [JIRA-KEY] prefix. The plugin uses this to avoid creating duplicates and to update existing tasks when issues change.

Next steps

Install the plugin

Copy the plugin to your OmniFocus Plug-Ins directory

Configure credentials

Set up your Jira URL, API token, and sync preferences

Build docs developers (and LLMs) love