You want to sync Notion databases with Jira issues so that updates in one tool automatically appear in the other. Notion’s built-in Jira integration supports two-way sync for issue fields like status, priority, assignee, and summary. This article explains how to set up that connection, configure which fields sync, and avoid common pitfalls like duplicate entries or broken links.
Key Takeaways: Setting Up Two-Way Jira Sync in Notion
- Settings & Members > Connections > Jira: Authorize your Atlassian account and select which Jira projects to sync.
- Database property mapping: Map Notion database properties (e.g., Status, Assignee) to Jira issue fields so changes flow both ways.
- Sync frequency and conflict resolution: Notion syncs every few minutes, and the most recent edit wins if both sides are changed at the same time.
What the Notion-Jira Two-Way Sync Does and What You Need
Notion’s Jira integration creates a live connection between a Notion database and a Jira project. When you add or update an issue in Jira, Notion reflects those changes in the linked database within minutes. Similarly, editing a synced issue in Notion pushes the change back to Jira. This two-way sync covers core issue fields: Summary, Description, Status, Priority, Assignee, Issue Type, Labels, and Comments. The integration does not sync attachments, sprint data, or custom fields unless you map them manually using Notion’s formula or rollup properties.
Before you begin, you need a Notion workspace with admin or owner permissions and a Jira Cloud account (Jira Server or Data Center are not supported). Your Jira account must have permission to view and edit issues in the projects you want to sync. The integration works with Jira Software, Jira Service Management, and Jira Work Management.
How the Sync Handles Conflicts
When both Notion and Jira receive edits to the same field within a short window, the system keeps the most recent change. Notion checks for updates every 2 to 5 minutes. If you edit a field in Notion and someone edits the same field in Jira before the sync completes, the later edit overwrites the earlier one. To avoid data loss, avoid editing the same issue in both tools simultaneously.
Steps to Connect Notion to Jira and Enable Two-Way Sync
- Open the Jira connection page in Notion
Go to Settings & Members in the left sidebar, then click Connections. Find Jira in the list and click Connect. A new browser tab opens asking you to log in to your Atlassian account. - Authorize Notion to access your Jira projects
After logging in, click Accept on the permission screen. Notion requests access to view and edit issues in your Jira projects. Granting this permission is required for two-way sync. - Create a new linked database or connect an existing one
In Notion, create a new database by typing/jiraand selecting Jira Issues. Alternatively, open an existing database, click the … menu in the top-right, choose Turn into Jira Issues, and select the Jira project you want to sync. - Select the Jira project and issue filter
In the connection dialog, pick the Jira project from the dropdown. You can also apply a JQL filter (e.g.,assignee = currentUser()) to sync only specific issues. Click Sync to start the initial import. - Map Notion properties to Jira fields
After the issues appear, click the property name in any column header, then click Edit property. Under Sync with Jira field, choose the corresponding Jira field from the dropdown. For example, map the Notion Status property to the Jira Status field. Repeat for all fields you want to sync both ways. - Test the sync by updating an issue
Change the status of an issue in Notion (e.g., from To Do to In Progress). Wait 2 to 5 minutes, then open the same issue in Jira. The status should match. Then change the assignee in Jira and check Notion after a few minutes. Confirm the update appears.
What to Avoid and Common Sync Problems
Mapped fields do not sync or show an error
If a mapped property shows a red warning or the sync icon, the Jira field may be read-only or unsupported. For example, Jira issue keys and creation dates are read-only. Remove the mapping for that property and use a formula property in Notion to display the value instead. Also ensure the Notion property type matches the Jira field type: a Jira dropdown field must map to a Notion Select property, not a Text property.
Duplicate issues appear in the Notion database
Duplicates happen when you manually create an issue in Notion that already exists in Jira, or when you connect the same Jira project to multiple Notion databases. To fix this, delete the duplicate row from the Notion database. Prevent future duplicates by always using the /jira command to create new issues, which writes the issue to Jira first and then brings the key back to Notion.
Comments sync but appear out of order
Notion displays comments in the order they are received from Jira, which may differ from the order in Jira if comments were edited or deleted. Jira comment history is not preserved in Notion. For critical discussions, use Jira directly and treat Notion comments as a read-only copy.
Sync stops working after a Jira permission change
If a Jira admin removes your project access or changes permission schemes, the integration stops syncing. Go to Settings & Members > Connections > Jira and click Reconnect. You may need to log in again and re-authorize. Check that your Jira account still has Browse Projects and Edit Issues permissions for the synced project.
| Item | Notion Free | Notion Plus or Business |
|---|---|---|
| Jira integration availability | Not included | Included |
| Max synced projects per workspace | N/A | Unlimited |
| Sync frequency | N/A | Every 2 to 5 minutes |
| Two-way field mapping | N/A | Supported for standard fields |
| JQL filter support | N/A | Supported |
With the two-way sync active, you can manage Jira issues without leaving Notion. Next, try adding a Rollup property in Notion to count linked issues from Jira, or use a Formula property to display the Jira issue key automatically. For advanced workflows, consider using Notion’s API to trigger Jira webhooks when a database property changes.