Project Management migration
Field-level mapping, validation, and rollback between ftrack and Jira. We move data and schema; workflows are rebuilt natively in Jira.
ftrack
Source
Jira
Destination
Compatibility
8 of 12
objects map 1:1 between ftrack and Jira.
Complexity
BStandard
Timeline
2-4 weeks
Overview
ftrack and Jira are fundamentally different production-tracking platforms with incompatible data models. ftrack uses a three-level media-workflow hierarchy (Project > Sequence > Shot > Task) with integrated asset versioning and browser-based review. Jira uses a two-level issue hierarchy (Project > Epic > Story/Task/Subtask) without native media-review or asset-versioning objects. We bridge this gap by collapsing ftrack's Sequence and Shot tiers into Jira Epics and Stories, preserving Task-to-Subtask lineage, and mapping Asset publish history as Jira issue links or custom fields. Review sessions and frame annotations migrate as Comments with metadata; the actual annotation layers cannot transfer. We do not migrate ftrack Locations (studio-specific file paths carry no meaning in Jira Cloud), expression custom attributes (evaluated in ftrack UI but raw strings in API), or any Workflows, Schedules, or API pipelines—these require admin rebuild post-migration.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a ftrack object lands in Jira, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
ftrack
Project
Jira
Project
1:1ftrack Projects map directly to Jira Projects. Each Project in ftrack contains the full hierarchy (Sequences, Shots, Tasks) that we decompose and redistribute into Jira Epics and Stories. Project-level custom attributes migrate as Jira Project properties or custom fields scoped to the Project. We create Jira Projects via the Jira REST API before any child issue migration begins, using the Project key from the ftrack Project name as the Jira Project key.
ftrack
Sequence
Jira
Epic
1:manyftrack Sequences map to Jira Epics. Each Sequence contains one or more Shots that become Jira Stories linked to the Epic via the Epic Link field. We preserve the Sequence name as the Epic summary and Sequence-level custom attributes as Epic-level custom fields. The Sequence > Shot parent-child relationship becomes Epic > Story in Jira's issue hierarchy.
ftrack
Shot
Jira
Story
1:1ftrack Shots map to Jira Stories. The Shot's parent Sequence becomes the Story's Epic Link. Shot status, thumbnail reference (as a URL in a custom field), and Shot-level custom attributes migrate as typed Jira custom fields. We flag Shot records that contain no child Tasks as they represent terminal deliverables with no Jira Subtask equivalent.
ftrack
Task
Jira
Subtask
1:1ftrack Tasks map to Jira Subtasks linked to the parent Story (derived from the Shot). Task assignees map to Jira Subtask Assignee; Task status maps to Subtask Status with name-matching against the Jira Status scheme. Task due dates migrate as Due Dates; Task notes migrate as Jira Comments with the original author preserved as the Comment author if a matching Jira User exists.
ftrack
Asset
Jira
Attachment or custom field
1:1ftrack Assets represent published files or builds linked to a Shot context. Jira has no native Asset object. We map Asset publish records as Jira Issue Links of type 'Relates' attached to the parent Story, with the Asset name and version stored in a custom field on the linked issue. For Asset metadata that functions as structured data (render farm output specs, resolution, codec), we create Jira custom fields typed to match the data format.
ftrack
Asset Version
Jira
Issue Link (Relates)
1:manyMultiple ftrack Asset Versions for a single Asset (sequential publishes) map to multiple Jira Issue Link records, each attached to the same parent Story. Version number, publish date, and publishing user migrate as link metadata fields. Jira does not have a version-on-version history object; this flattened representation preserves the publish sequence for audit without native version tracking.
ftrack
Note
Jira
Comment
1:1ftrack Notes attached to any entity (Project, Shot, Task) migrate to Jira Comments. We resolve the target object by traversing the ftrack note's context_id against the hierarchy and linking to the corresponding Jira Issue. A known ftrack behavior is that notes posted via the webplayer sometimes attach to the wrong parent object; we detect mismatched notes by comparing context_id against the resolved task hierarchy and re-associate them with the correct parent before writing to Jira.
ftrack
Location
Jira
Text field (documentation only)
1:1ftrack Locations define studio-specific file storage paths including cloud and on-premises configurations. Jira has no storage-location concept. We export Location configuration as a JSON metadata document delivered alongside the migration, listing each Location name, path pattern, and associated Assets. The migration team and studio infrastructure admin review this document post-migration; file path references do not transfer into Jira's data model.
ftrack
Review Session
Jira
Comment with metadata
lossyftrack Review Sessions with frame annotations link to an Asset Version. Jira has no native interactive media review capability. We migrate review session metadata (session name, participant list, date range) as a Jira Comment on the related Story, storing annotation count and version reference as structured text. Actual annotation overlays cannot transfer because Jira does not support frame-level drawing tools on media attachments.
ftrack
Custom Attribute (standard)
Jira
Custom Field
lossyftrack custom attributes on any entity type (Project, Shot, Task, Asset) map to Jira custom fields scoped to the appropriate issue type context. We handle the type mapping: text attributes to Jira Text Field, date attributes to Jira Date Field, number attributes to Jira Number Field, and dropdown-style attributes to Jira Single Select. Hierarchical custom attributes (inherited from parent) return raw null values in the ftrack API; we query the parent entity for the effective value and write the resolved value to Jira.
ftrack
Custom Attribute (expression)
Jira
Flagged for rebuild
1:1Expression custom attributes in ftrack are UI-evaluated formulas (e.g., calculated due dates, derived status). The ftrack API returns the non-evaluated expression string, not the computed value. We flag all expression attribute fields during pre-migration scope and document them in the handoff deliverable. These values must be recalculated or replaced with Jira calculated fields (if supported) or manual entries post-migration.
ftrack
User / Assignee
Jira
User
1:1ftrack Users assigned to Tasks map to Jira User records resolved by email address. We pre-provision Jira Users before record migration begins. Assignees without a Jira User account are placed in a reconciliation queue; the customer's admin provisions accounts before migration resumes. Active and inactive status is preserved where Jira supports inactive-user records.
| ftrack | Jira | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Sequence | Epic1:many | Fully supported | |
| Shot | Story1:1 | Fully supported | |
| Task | Subtask1:1 | Fully supported | |
| Asset | Attachment or custom field1:1 | Fully supported | |
| Asset Version | Issue Link (Relates)1:many | Fully supported | |
| Note | Comment1:1 | Fully supported | |
| Location | Text field (documentation only)1:1 | Fully supported | |
| Review Session | Comment with metadatalossy | Fully supported | |
| Custom Attribute (standard) | Custom Fieldlossy | Fully supported | |
| Custom Attribute (expression) | Flagged for rebuild1:1 | Fully supported | |
| User / Assignee | User1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
ftrack gotchas
Notes attach to wrong task level in webplayer
Hierarchical custom attributes return raw values in API
Expression custom attributes not evaluated by API
Import wizard does not delete records
Jira gotchas
Unsupported workflow validators silently skipped during migration
Custom fields converted to flat text labels when migrating to non-Jira platforms
Historical status-change timestamps lost when exporting without a Marketplace plugin
Attachment import failures from oversized files and JQL reference corruption
Points-based API rate limits enforced on Jira Cloud apps from March 2026
Pair-specific challenges
Migration approach
Discovery and workspace audit
We audit the source ftrack workspace via the REST API, enumerating all Projects, Sequences, Shots, Tasks, Assets, Asset Versions, Notes, Review Sessions, and custom attribute definitions. We capture the full hierarchy depth per Project, the count of distinct custom attribute keys and their types (text, number, date, hierarchical, expression), the number of Location records, and the total issue count estimate. This output is the migration scope document that defines the Jira schema design required.
Jira schema design and custom field provisioning
We design the Jira destination schema in a Sandbox or development Jira site before any data moves. This includes creating Jira Projects (key derived from ftrack Project name), defining the Issue Type scheme (Epic, Story, Subtask), creating all custom fields typed to match ftrack attribute types, configuring Status schemes and workflows, and scoping custom field contexts to the appropriate issue types. The Epic Link field on Stories is configured to reference the relevant Project's Epics. If Jira's native time tracking is required, we enable it per Project during this phase.
Sandbox validation migration
We run a full migration into the Jira Sandbox using a representative subset of ftrack data (at least one Project from each Sequence-count tier). The customer's Project Manager or Producer spot-checks 20-30 randomly sampled Jira issues against the ftrack source for field accuracy, hierarchy correctness, and assignee resolution. We correct any mapping errors before production migration begins. This step also reveals any Jira workflow constraints (validation rules, required fields, conditional logic) that need admin-level adjustment before the production run.
User provisioning and assignee reconciliation
We extract every distinct assignee from ftrack Tasks and match by email against the Jira destination User table. Jira Users must be provisioned and active before record migration begins because Jira Subtasks require an OwnerId. Assignees without a Jira account are listed in a reconciliation report for the customer's Jira admin to provision. Reviewers and stakeholders listed on ftrack Review Sessions are handled similarly—matched by email or flagged for manual account creation.
Production migration in dependency order
We execute production migration in strict dependency sequence: Jira Projects and Epics first (establishing the hierarchy anchors), then Stories derived from Shots, then Subtasks derived from Tasks, then Asset metadata as Issue Links, then Comments from Notes (with misattributed note correction applied), then Review Session metadata as Comments. Each phase emits a row-count reconciliation report. We chunk API calls to stay within Jira rate limits and retry with exponential backoff on 429 responses.
Cutover, delta sync, and review workflow planning
We freeze ftrack writes during the cutover window, run a final delta migration for any records modified after the last batch, then confirm Jira as the system of record. We deliver the ftrack Locations reference document and the expression attribute flag list as structured handoff artifacts. We do not rebuild ftrack Workflows or Schedules in Jira; these are documented by trigger and action for the customer's admin to configure in Jira Automation or Jira Flow. We do not configure media review tooling in Jira as that is outside migration scope.
Platform deep dives
ftrack
Source
Strengths
Weaknesses
Jira
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 3 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across ftrack and Jira.
Object compatibility
3 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
ftrack: Not publicly documented; ftrack advises optimizing queries to avoid server-side resource strain.
Data volume sensitivity
ftrack doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during ftrack to Jira migration scoping. Not seeing yours? Book a call.
Walk through your ftrack to Jira migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave ftrack
Other ways to arrive at Jira
Same-Project Management migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.