Jira → Linear
Move Jira issues and epics to Linear with a clear choice between one-time import and transition sync, while handling workflows, identities, custom fields, hierarchy, comments, attachments, automation, and rollback.
Should you make this move?
Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.
Jira
- Deep workflow, issue, permission, and reporting controls support complex organizations
- Structured ownership, status, and workflow views improve operational visibility
- Administration and process complexity can slow teams that need a lighter workflow
- Custom fields, automations, history, and reporting are difficult to reproduce exactly
Linear
- Fast, opinionated product-development workflows keep software teams focused
- Structured ownership, status, and workflow views improve operational visibility
- Non-software work and highly customized enterprise processes fit poorly
- Custom fields, automations, history, and reporting are difficult to reproduce exactly
Linear: Fast, opinionated product-development workflows keep software teams focused. This removes a major source-side concern: Administration and process complexity can slow teams that need a lighter workflow.
What you lose: Deep workflow, issue, permission, and reporting controls support complex organizations. What you inherit: Non-software work and highly customized enterprise processes fit poorly.
Know the shape of the move.
This timeline assumes
- Up to 20 Jira projects and 50,000 in-scope issues.
- A Linear admin and Jira administrator run the migration.
- The team chooses one-time import or configured Jira Sync before importing.
- Only useful history is moved.
- Jira remains available read-only during verification.
What survives the move.
“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.
| Item | Outcome | Impact | What happens | Mitigation |
|---|---|---|---|---|
| Issue title and description | clean | critical | The dedicated importer supports core issue content. | Test rich descriptions, links, and mentions. |
| Comments and attachments | partial | high | Supported content can import, but identity and file accessibility still need verification. | Reconcile decision-heavy comments and open every critical file. |
| Assignee, creator, and reporter | partial | high | Identity fidelity improves when users connect accounts; otherwise attribution can fall back. | Map and connect users before import or sync. |
| Epics and issue hierarchy | partial | critical | Jira epics can become Linear projects, but hierarchy constraints differ. | Pilot each hierarchy pattern and redesign unsupported levels. |
| Workflow statuses | partial | critical | Unmapped or constrained statuses can stop updates or fall back incorrectly. | Create an approved project-to-team and status map. |
| Issue types | partial | high | Linear does not model Jira issue types the same way. | Map useful types to labels, projects, or team conventions. |
| Components | partial | medium | Synced components appear as labels with special behavior. | Approve component-label semantics and test updates. |
| Custom and required fields | manual | critical | Unsupported required fields can block sync; custom fields need explicit mapping. | Remove unnecessary requirements or preserve fields in labels/descriptions/integrations. |
| Automation, apps, dashboards, and reports | lost | critical | Jira rules, marketplace apps, boards, filters, and dashboards do not become working Linear features. | Inventory and rebuild only essential workflows and reports. |
| Sprints, releases, and historical metrics | partial | high | Linear cycles and projects have different semantics and analytics. | Preserve historical reports and establish a new metric baseline. |
Where each thing goes.
| Source | Destination | Method | Notes |
|---|---|---|---|
| Jira project | Linear team | transform | One Jira space maps to one team in sync. |
| Summary | Title | automatic | Preserve Jira key in metadata. |
| Description | Description | automatic | Verify formatting. |
| Assignee/reporter | Assignee/creator | transform | Users should connect accounts. |
| Epic | Project | automatic | Verify parent-child relationships. |
| Status | Workflow status | transform | Map every in-scope state. |
| Component and label | Label | transform | Normalize taxonomy. |
| Custom field | Label, priority, estimate, project, or description | manual | No universal mapping. |
Make the move recoverable.
Create the source-of-truth backup
Preserve issues, comments, attachments, schemes, workflows, fields, automation, apps, and reporting definitions.
- Inventory projects, issue counts, types, statuses, fields, users, permissions, boards, sprints, releases, automation, apps, webhooks, filters, and dashboards.
- Export in-scope issues and attachment evidence.
- Record project, status, identity, field, and hierarchy maps.
- Capture sync/import configuration and tokens without exposing secret values.
- Classify work as import, archive, or discard.
Proof to capture: A project manifest reconciles every issue class, field, hierarchy, user, workflow, and dependency.
Workflow and hierarchy map
Prevent Jira configuration from being flattened unpredictably.
- Map projects to teams.
- Map every status and hierarchy level.
- List unsupported constraints and required fields.
Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.
Identity and scope review
Preserve ownership without importing useless history.
- Map users.
- Choose active and required history.
- Review totals before confirmation.
Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.
The things most likely to hurt.
These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.
Import and sync are configured in the wrong order
Imported issues are expected to sync but Jira integration was not configured first.
- Consequence
- Two independent issue sets diverge.
- Mitigation
- Choose the operating mode before import.
Stop if: The team cannot explain which records are synced and which are not.
Required fields block creation
Linear reports permission or required-field errors.
- Consequence
- Issues fail to appear in one system.
- Mitigation
- Simplify requirements and monitor sync banners.
Stop if: Any critical issue has unresolved sync error.
Automation runs in both tools
Jira rules and Linear integrations both act on the same event.
- Consequence
- Duplicate issues and status changes.
- Mitigation
- Disable source rules before destination activation.
Stop if: A test event produces duplicate work.
Do the work in this order.
- Days 1–4 · inventory
Inventory and mode choice
16–24 hours active4 days elapsedAdmin and owner review waiting- Inventory Jira configuration and work.
- Choose import-only or transition sync.
- Design Linear teams and workflow.
Depends on: Jira and Linear admins
Stop / go checkpointPilot?
Go when: Mode, scope, mappings, and owners are approved.
Stop when: Critical required fields, apps, or hierarchy are unknown.
- Days 5–6 · backup
Export and preserve
7–12 hours active2 days elapsedExport processing waiting- Export issues and evidence.
- Preserve files, schemes, rules, and reports.
Depends on: Approved scope
Stop / go checkpointConfigure?
Go when: Counts and dependencies reconcile.
Stop when: Any project or critical attachment class is absent.
- Days 7–11 · pilot
Pilot projects
15–24 hours active5 days elapsedImporter/sync processing waiting- Configure destination and optional sync.
- Import representative projects.
- Test identity, workflow, hierarchy, comments, and errors.
Depends on: Backup
Stop / go checkpointWaves?
Go when: Each Jira archetype passes.
Stop when: Critical mapping or sync error remains.
- Days 12–22 · waves
Project waves
18–34 hours active7–11 days elapsedImport and owner verification waiting- Import by dependency wave.
- Reconcile and repair each project.
- Rebuild automation and reporting.
Depends on: Passed pilot
Stop / go checkpointCut over?
Go when: Every wave is complete or excepted.
Stop when: Counts, access, or sync states are unexplained.
- Days 23–30 · cutover
Freeze and observation
4–11 hours active5–8 days elapsedNormal workflow and scheduled jobs waiting- Freeze Jira writes and automation.
- Apply final delta.
- Switch intake and observe one cycle.
Depends on: Completed waves
Stop / go checkpointClose rollback?
Go when: All blocking checks and owner approvals pass.
Stop when: A critical workflow or integration remains source-only.
Cut over with a way back.
Cutover
Make Linear authoritative after a reconciled final Jira delta.
- Announce and enforce the Jira freeze.
- Disable source automation and intake.
- Import or reconcile final changed issues.
- Switch integrations, forms, email, and developer links.
- Make Jira read-only.
- Run triage, planning, delivery, and reporting.
Proof to capture: All active issues reconcile and one system owns intake, status, and automation.
Rollback
Restore Jira without losing Linear changes.
- Freeze Linear.
- Export post-cutover issues and changes.
- Restore Jira access and rules.
- Apply reviewed deltas.
- Restore intake and run policy tests.
Proof to capture: Jira contains current work and Linear is read-only.
- Missing active issues
- Unresolved sync errors
- Wrong hierarchy or status
- Access failure
- Critical integration failure
Prove the migration worked.
Every blocking check must pass. Capture the evidence before cleanup begins.
| Pass | ID | Check | Method | Expected result | Evidence |
|---|---|---|---|---|---|
V-01Blocking | Issue reconciliation | Compare by Jira key. | 100% imported, archived, or excluded. | Issue report. | |
V-02Blocking | Users and attribution | Compare assignees, reporters, and comments. | Approved identity mapping. | User report. | |
V-03Blocking | Status mapping | Run every transition scenario. | Correct allowed result. | Transition log. | |
V-04Blocking | Epics and sub-issues | Compare representative trees. | Approved relationships. | Hierarchy diff. | |
V-05Blocking | Comments and files | Inspect critical issues. | Required history and files work. | Context log. | |
V-06Blocking | Direction and errors | Create and update test issues both ways where configured. | Declared direction works with no error. | Sync log. | |
V-07Blocking | Single action | Trigger each workflow. | One correct destination action. | Automation report. | |
V-08Blocking | Permissions | Test admin, member, guest, and unauthorized accounts. | Least privilege passes. | Access matrix. |
Remove the scaffolding safely.
Safe after: One complete sprint or delivery cycle and all project-owner sign-offs.
- Archive exports, schemes, mappings, and evidence.
- Revoke migration and sync tokens when no longer required.
- Remove obsolete Jira automation, webhooks, and apps.
- Keep Jira read-only through retention.
- Update delivery and reporting documentation.
- Schedule quarterly access and workflow reviews.
When the plan met reality.
First-hand accounts are preferred. Vendor case studies are labeled, and every note below is an editorial paraphrase—follow the link for the full context.
Linear’s Oscar Health case study describes moving more than 600 people across engineering, product, data science, IT, and security in just over a month. Oscar imported projects and backlog history but intentionally left behind hundreds of accumulated custom fields and workflows. Adoption expanded after engineers began using the new system, and the simplified structure removed the need to reproduce one of Jira’s most complex configurations.
- Treat the migration as a chance to delete stale workflow complexity instead of recreating every Jira customization.
- Start with motivated teams and a clear deadline, then let demonstrated usefulness support wider adoption.
- The migration moved useful history but deliberately abandoned custom fields that teams discovered they did not miss.
- More than 600 users switched in roughly a month despite the source instance’s unusually high complexity.
Built to be reviewed.
Tested 2026-07-19. Next scheduled review: 2026-10-19.
- Linear: Jira import and syncAccessed 2026-07-19
- Linear: importerAccessed 2026-07-19
- Atlassian: export Jira issuesAccessed 2026-07-19