Default Status Mappings
Out of the box, the plugin uses these mappings:- Completed
- Dropped
- Active
Jira Statuses:
Done, Closed, ResolvedOmniFocus State: Completed (checkmark)Tasks with these statuses are marked as complete in OmniFocus.Default Constants
From the source code atjiraCommon.js:8-9:
These defaults work well for most Jira instances, which typically use “Done”, “Closed”, or “Resolved” for completed work.
How Status Mapping Works
During Sync
For each Jira issue, the plugin:- Reads the current status name (e.g., “Done”, “In Progress”)
- Checks if the status is in the completed statuses list
- Checks if the status is in the dropped statuses list
- Applies the appropriate OmniFocus task state
- Reopens tasks if their status changes from completed to active
Status Transition Logic
FromjiraCommon.js:762-778:
Reopening Tasks
If a Jira issue changes from a completed/dropped status back to an active status:Reopened tasks appear in the Reopened count in sync statistics.
Customizing Status Mappings
You can override the default mappings in Configure JIRA Sync.Completed Statuses
Field: Completed Statuses (comma-separated) Example:Done, Closed, Resolved, Finished, Complete
Add any Jira status names that should mark tasks as completed in OmniFocus.
Dropped Statuses
Field: Dropped Statuses (comma-separated) Example:Withdrawn, Canceled, Cancelled, Won't Do, Rejected
Add any Jira status names that should mark tasks as dropped in OmniFocus.
Common Workflow Examples
Standard Scrum Workflow
Jira Statuses:- To Do
- In Progress
- In Review
- Done
- Completed Statuses:
Done - Dropped Statuses: (leave empty)
- “Done” issues → Completed in OmniFocus
- All other statuses → Active in OmniFocus
Extended Completion States
Jira Statuses:- To Do
- In Progress
- Done
- Closed
- Resolved
- Deployed
- Completed Statuses:
Done, Closed, Resolved, Deployed - Dropped Statuses: (leave empty)
- Issues in “Done”, “Closed”, “Resolved”, or “Deployed” → Completed
- Issues in “To Do” or “In Progress” → Active
Kanban with Won’t Do
Jira Statuses:- Backlog
- Selected
- In Progress
- Done
- Won’t Do
- Completed Statuses:
Done - Dropped Statuses:
Won't Do
- “Done” → Completed
- “Won’t Do” → Dropped (grayed out)
- All others → Active
Support Ticket Workflow
Jira Statuses:- New
- Assigned
- In Progress
- Waiting for Customer
- Resolved
- Closed
- Canceled
- Completed Statuses:
Resolved, Closed - Dropped Statuses:
Canceled
- “Resolved” or “Closed” → Completed
- “Canceled” → Dropped
- “New”, “Assigned”, “In Progress”, “Waiting for Customer” → Active
Status Mapping Validation
The plugin validates your status mappings:Settings Override
FromjiraCommon.js:226-235:
If you leave the status mapping fields empty, the plugin falls back to the default constants.
Parsing Logic
The configuration form parses comma-separated values:Case Sensitivity
Jira status names are case-sensitive:- Correct
- Incorrect
Configuration:
Done, Closed, ResolvedJira Status: DoneResult: ✓ Task marked as completedFinding Exact Status Names
To find the exact status names used in your Jira instance:Skip Creation Logic
The plugin has special logic to avoid creating tasks for already-completed issues: FromsyncJira.js:40-41 and syncJiraFull.js:40-41:
- Existing task: Updated and marked completed/dropped
- No existing task: Task creation is skipped
This prevents cluttering your OmniFocus with hundreds of already-completed tasks when you first configure the plugin.
Sync Statistics
Skipped issues appear in the Skipped count:Advanced Status Mapping Scenarios
Multiple “In Progress” Statuses
Scenario: Your workflow has multiple active states. Jira Statuses:- To Do
- In Development
- In Review
- In QA
- Done
- Completed Statuses:
Done - Dropped Statuses: (empty)
- All “In …” statuses keep tasks active
- Only “Done” marks tasks as completed
You don’t need to explicitly list active statuses. Anything not in the completed or dropped lists is automatically active.
Regional Variations
Scenario: Your Jira instance uses non-English status names. Jira Statuses:- À faire
- En cours
- Terminé
- Annulé
- Completed Statuses:
Terminé - Dropped Statuses:
Annulé
- “Terminé” → Completed
- “Annulé” → Dropped
- “À faire”, “En cours” → Active
Custom Workflow States
Scenario: You have custom statuses like “Blocked” or “Waiting”. Jira Statuses:- To Do
- In Progress
- Blocked
- Waiting
- Done
- Won’t Fix
- Completed Statuses:
Done - Dropped Statuses:
Won't Fix
- “Blocked” and “Waiting” remain active (not completed or dropped)
- OmniFocus doesn’t distinguish between “In Progress” and “Blocked” - both are active
- Consider using tags or task names to indicate blocking in OmniFocus
Status Changes Over Time
Timeline Example
Issue Reopened
Jira Status: To DoOmniFocus: Task marked as incomplete (reopened)Sync Stat: Reopened +1
Best Practices
- Match Your Workflow
- Use Exact Names
- Test After Changes
- Keep It Simple
Configure status mappings to match how your team uses Jira:
- Identify which statuses mean “work is done”
- Identify which statuses mean “work is canceled”
- List all variations (Done, Closed, Resolved, etc.)
Troubleshooting
Tasks Not Completing
Issue: Jira issues are “Done” but OmniFocus tasks remain active. Solutions:- Verify “Done” is in the Completed Statuses list
- Check case sensitivity (“Done” vs “done”)
- Run a Full Sync to reprocess all tasks
- Check Console.app for status mapping logs
Tasks Completing Unexpectedly
Issue: Tasks marked as completed when they shouldn’t be. Solutions:- Review your Completed Statuses list
- Remove any status names that should be active
- Common issue: Including “In Progress” or “Pending” by mistake
- Run a Full Sync to fix task states
Dropped Status Not Working
Issue: “Won’t Do” issues aren’t being dropped in OmniFocus. Solutions:- Add “Won’t Do” to Dropped Statuses field
- Verify exact status name (case-sensitive)
- Save configuration and run a Full Sync
- Check that status exists in your Jira workflow
Status Mapping Changes Not Applied
Issue: Changed status mappings but tasks still use old behavior. Solution:- After changing mappings, always run a Full Sync
- Incremental sync only updates recently modified issues
- Full sync reprocesses all tasks with new mappings
Implementation Reference
Status Check During Sync
Both incremental and full sync use the same status checking logic:Task Creation Skip
Task Update with Status Change
Status Mapping in Task Notes
The current Jira status is always included in task notes:The status in notes is informational only. The actual OmniFocus task state is determined by your status mappings.