Syncing Program Epics Between Jira Align and Jira Software: A Practical Guide
Learn how to configure and validate Jira Align’s bidirectional Jira connector to keep program epics in sync, avoid conflicts, and stay within API limits.
12 Jul 2025, 01:58 UTC

The Sync Problem
In many enterprises, strategic planning lives in Jira Align while day‑to‑day execution happens in Jira Software. When a program‑level epic is created or changed in Jira Align, the corresponding work items in Jira Software must reflect those updates, and vice‑versa. Without reliable synchronization, teams see divergent statuses, duplicated effort, and missed dependencies.
How the Bidirectional Connector Works
Jira Align provides a built‑in Jira connector that uses Jira’s REST API and Jira Align’s integration hub. The connector can be set to sync epics, features, stories, and dependencies in near‑real time (polling every few minutes) or on a scheduled basis. Administrators define which Jira projects participate, map fields between the two systems, and choose conflict‑resolution rules that tell the connector which system “wins” when both sides modify the same field.
Configuring the Integration
- Access the admin console – You need Jira Align Super Admin rights. Log in to Jira Align, go to Admin → Integration Hub → Jira.
- Enable the connector – Toggle the Jira integration switch to ON. Provide the base URL of your Jira instance (e.g.,
https://jira.example.com) and a service account with Jira Administrators or Jira Software Administrators permission. - Select projects – In the Project Mapping tab, add the Jira Software projects that contain the epics you want to keep in sync. You can map one Jira Align program to multiple Jira projects or vice‑versa.
- Define field mappings – Choose which fields flow both ways (e.g., Summary, Description, Status, Custom Fields). For each field, set the direction (Alig→Jira, Jira→Align, or Bi‑directional) and, if needed, a value‑mapping table (e.g., map Jira Align status “In Progress” to Jira status “Development”).
- Set conflict resolution – Under Conflict Handling, pick a rule such as “Jira Align wins” or “Jira wins” for each field. You can also choose “Manual review” which flags conflicts in the integration log for an admin to resolve.
- Schedule sync frequency – Choose Real‑time (poll every 2 minutes) or a custom cron expression. Remember that higher frequency increases API calls to Jira.
- Save and test – Click Save, then use the Test Connection button to verify credentials and API reachability.
Worked Example: Mapping a Program Epic
Suppose you have a program called “Platform Upgrade” in Jira Align and a Jira Software project PLAT that tracks the associated work.
- In Jira Align, create an epic named Database Migration under the Platform Upgrade program.
- After the next sync poll (or immediately if you trigger a manual sync from the Integration Hub), the connector creates a Jira issue in project
PLATwith issue type Epic, summary “Database Migration”, and copies the mapped fields. - If a developer updates the epic’s description in Jira, the change flows back to Jira Align during the next poll, overwriting the description there (assuming bi‑directional mapping and no conflict rule overriding it).
- To verify, open the Jira Align epic and check the Integration tab for a link to the Jira issue, or look at the Jira issue’s Development panel for the Align epic key.
# Example: Check the last sync status from a machine with access to both systems
# Replace placeholders with your actual values
curl -u "${JIRA_ALIGN_USER}:${JIRA_ALIGN_TOKEN}" -s \
"https://align.example.com/api/v2/integration/jira/status" | jq .
Run the command with a Jira Align service account that has the Integration Viewer role. A successful response includes fields like "lastSuccessfulSync" and "status": "OK". If you see authentication errors, confirm the service account credentials and that the Jira base URL is reachable (no firewall blocking port 443).
Trade‑offs and Limitations
- Conflict resolution – If both systems modify the same field between polls, the connector applies the rule you set. Without a clear rule, you may get unexpected overwrites; therefore, test the rule on a non‑production epic first.
- API rate limits** – Each sync poll issues multiple REST calls (search, create, update). Large programs with thousands of epics can hit Jira’s default rate limits (e.g., 1000 requests per 10 minutes). Mitigate by increasing the poll interval or using Jira’s webhook‑based real‑time mode if your version supports it.
- Field‑type compatibility** – Some custom fields (e.g., complex scripted fields) may not map cleanly. Verify mapping by creating a test epic with the field populated and confirming the value appears correctly in the other system after a sync.
Actionable Closing
To ensure your Jira Align‑Jira sync is healthy:
- After initial configuration, run a manual sync and inspect the integration log for any
ERRORorCONFLICTentries. - Pick a representative epic, update a mapped field in Jira Align, wait for the next poll, and confirm the change appears in Jira.
- Monitor the Jira API usage metrics (available in Jira’s System → API usage) during the first few hours to stay within limits.
- Schedule a weekly review of the conflict‑resolution log to adjust rules as team workflows evolve.
By following these steps, you maintain a single source of truth for program‑level epics while letting teams continue to work in their preferred tool.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.