Project Management migration
Field-level mapping, validation, and rollback between Intervals and Jira. We move data and schema; workflows are rebuilt natively in Jira.
Intervals
Source
Jira
Destination
Compatibility
8 of 11
objects map 1:1 between Intervals and Jira.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Intervals to Jira is a data-model migration that reinterprets Intervals' time-tracking-first hierarchy through Jira's issue-tracking and agile structure. Intervals organizes work as Client → Project → Task → Milestone; Jira organizes work as Project → Issue (Epic, Story, Task, Bug, Subtask) grouped into Sprints. We map Intervals Milestones to Jira Sprints within the appropriate Project, preserving target dates and sequence, and we map Intervals Time Entries to Jira Worklog records linked to the correct Issue. Intervals People map to Jira Users by email resolution, with inactive users held in a reconciliation queue. Documents cannot be bulk-exported from Intervals — we document every file URL during discovery and present a manual-download checklist organized by Project and Task. Workflows, automations, and task templates do not migrate; we deliver a written inventory of these for the customer's Jira admin to 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 Intervals 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.
Intervals
Client
Jira
Project + Custom Field (Client Name)
1:manyIntervals Clients are top-level organizational units with name, status, and contact references. Jira has no Client object — we map each Client to a Jira Project and add a Client Name custom field (text or select) to the Project's default Issue type scheme so that every Issue carries the client context. If the customer uses multiple Projects per Client, we document the split and set the Project key prefix convention during scoping.
Intervals
Person
Jira
User
1:1Intervals People are user accounts with timesheet permissions and roles (active or inactive). We map each Person to a Jira User by email address lookup. Inactive Intervals people map to Jira users with the Deactivated status, preserving historical attribution on Time Entries without granting active access. Any Person with no matching Jira User goes to a reconciliation queue for the customer's admin to provision before the migration resumes.
Intervals
Project
Jira
Project
1:1Intervals Projects carry budget, start/end dates, status, and owner. We map each Project to a Jira Project, preserving the project name and using the Intervals Project ID as a reference field. Start and end dates migrate to the Jira Project's start date and a custom end date field (Jira does not enforce a project end date natively). The Project-to-Client ownership link is preserved through the Client Name custom field added at the Project level.
Intervals
Milestone
Jira
Sprint + Fix Version
lossyIntervals Milestones are date-driven checkpoints within a Project. Jira has no Milestone object — we map each Milestone to a Sprint within the target Jira Project, setting the Sprint start and end dates to the Milestone's target dates. If the customer's workflow uses milestones as reference dates rather than time-boxed iterations, we alternatively map them to Fix Version with a custom Milestone Name field, and the customer chooses during scoping which Jira construct best matches their usage pattern.
Intervals
Task
Jira
Issue (Task or Story)
1:1Intervals Tasks belong to Projects and optionally to Milestones, carrying status, estimated vs actual hours, assignees, and comments. We map each Task to a Jira Issue. We choose Issue type (Task vs Story) based on the presence of a milestone link: Tasks without a milestone link map to Jira Task; Tasks with a milestone link map to Jira Story so that the Sprint membership reflects the original milestone context. Status, assignees, estimated hours, and actual hours migrate to the corresponding Jira Issue fields or custom fields.
Intervals
Task Comment
Jira
Issue Comment
1:1Intervals Task-level comments are threaded text entries attached to Tasks. We map them to Jira Issue Comments, preserving the author (via User email resolution), the original timestamp, and the comment body. Comment threading in Intervals is flat; Jira's comment model is also flat, so no structural transformation is required.
Intervals
Milestone Comment
Jira
Sprint Comment (Jira Note) or Issue Comment
1:1Intervals Milestone comments are standalone threaded entries tied to a Milestone but not to a specific Task. Jira Sprints do not have a native comment object. We map these to Project-level Notes using a custom field or a dedicated Jira Project wiki page created during migration, and we flag this constraint to the customer so they can decide whether to move milestone comments into a related Issue or leave them as project documentation.
Intervals
Project Note
Jira
Project Description or Project Page
1:1Intervals Project Notes are standalone text entries scoped to a Project but not tied to Tasks or Milestones. We map these to the Jira Project's Description field (if brief) or to a Confluence project page linked from the Jira Project, depending on length and formatting complexity. If the customer uses Confluence, we recommend a linked page; if not, we use a Jira project description custom field.
Intervals
Custom Activity Field
Jira
Custom Field (Issue-level)
lossyIntervals custom activity fields are user-defined properties attached to time entries, visible only via the API (not CSV export). We enumerate all active custom activity fields during the discovery phase by querying the Intervals API, then map each to a Jira custom field on the target Issue type. Field type mapping follows: text inputs to Jira Text Field, numeric values to Jira Number Field, date values to Jira Date Field, and picklist values to Jira Select Field. Jira does not support custom fields on Worklog records — if a custom activity field is time-entry-specific with no natural Issue-level equivalent, we store it on the parent Issue and flag this constraint during scoping.
Intervals
Time Entry
Jira
Issue Worklog
1:1Intervals Time Entries are the primary data object — each records hours, a date, task association, billable status, and optional custom activity fields. We map each Time Entry to a Jira Worklog record linked to the corresponding Issue (via the Task-to-Issue mapping). The Intervals entry date and duration map to Jira worklog started and timeSpent. We set the worklog author to the resolved Jira User. If the Intervals entry has no associated Task (unbilled or overhead time), we flag it during scoping — Jira requires a parent Issue for every worklog, so these entries require either a catch-all Issue or a custom handling approach agreed upon with the customer.
Intervals
Document
Jira
Issue Attachment
1:1Intervals Documents are attachments stored per Task or Project. Intervals explicitly does not support bulk document export — only individual downloads are possible, and there is no API-based bulk retrieval method documented. We scan the Intervals API during discovery to collect every document URL, document name, associated Task, and file type. We then produce a manual-download checklist organized by Project and Task for the customer's team to execute before cutover. On the Jira side, we upload downloaded files as Jira Issue Attachments via the Jira REST API using the collected document URLs. This is a manual-step gap — we do not attempt to script document extraction from Intervals because the platform provides no bulk export mechanism.
| Intervals | Jira | Compatibility | |
|---|---|---|---|
| Client | Project + Custom Field (Client Name)1:many | Fully supported | |
| Person | User1:1 | Fully supported | |
| Project | Project1:1 | Fully supported | |
| Milestone | Sprint + Fix Versionlossy | Fully supported | |
| Task | Issue (Task or Story)1:1 | Fully supported | |
| Task Comment | Issue Comment1:1 | Fully supported | |
| Milestone Comment | Sprint Comment (Jira Note) or Issue Comment1:1 | Fully supported | |
| Project Note | Project Description or Project Page1:1 | Fully supported | |
| Custom Activity Field | Custom Field (Issue-level)lossy | Fully supported | |
| Time Entry | Issue Worklog1:1 | Fully supported | |
| Document | Issue Attachment1: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.
Intervals gotchas
No bulk document export in Intervals
Custom activity fields are account-specific and require enumeration
No native bulk-import format for inter-object relationships
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 API audit
We query the Intervals API to enumerate all active custom activity fields, extract the full object inventory (Clients, People, Projects, Milestones, Tasks, Comments, Time Entries, Documents), and assess record counts per object type. We run a parallel discovery on the Jira destination: verify the customer's Jira instance URL, project list, existing Issue types, and custom field schema. The discovery output is a written migration scope, an Intervals-to-Jira object mapping draft, and a Jira-side schema gap list that the customer's Jira admin must resolve (creating custom fields, configuring Issue type schemes, and setting up Sprint boards) before migration begins.
Milestone mapping decision
We present the customer with the two Jira proxy options for Intervals Milestones — Jira Sprint (time-boxed iteration) or Fix Version (reference date) — along with the implications for milestone comments and task linkage. The customer selects the approach, and we configure the corresponding Jira project structure accordingly: Sprint boards for Sprint-based routing, or a Fix Version field for date-based routing. This decision gates the entire Task-to-Issue migration path because it determines how task-to-milestone linkage translates into Jira Sprint membership.
Document extraction and manual download checklist
We scan the Intervals API to collect every document URL, filename, file type, and associated Task ID. We produce a structured manual-download checklist organized by Project and Task and present it to the customer. The customer's team downloads files to a shared location within a agreed timeframe. We do not wait for document download to begin data migration — we run the data migration in parallel and upload attachments after the main record migration is validated. If the customer has more than 200 documents, we recommend batching the download over multiple sessions to avoid browser timeout.
Sandbox migration and reconciliation
We run a full migration into a Jira Sandbox or a designated test project using production-like data volume. The customer's project manager and Jira admin reconcile record counts (Projects in, Issues in, Worklogs in, Comments in), spot-check 25-50 random Issues against the Intervals source, and validate the milestone-to-sprint mapping. Any mapping corrections — wrong Issue type assignment, missing Sprint membership, custom field type mismatches — happen in this phase before production migration begins. We do not proceed to production until the customer signs off on the sandbox migration report.
Production migration in dependency order
We run production migration in record-dependency order: Jira Users (provisioned from the Person-to-User mapping), Jira Projects (from Intervals Clients), Sprints and Fix Versions (from Intervals Milestones), Issues (from Intervals Tasks with Sprint or Fix Version membership assigned), Issue Comments, Worklogs (from Intervals Time Entries via the Jira worklog API with author and started date preserved), and custom field values (from Intervals custom activity fields mapped to Jira custom fields). Documents are uploaded last via the Jira REST API after the customer has completed the manual download checklist.
Cutover, validation, and automation inventory handoff
We freeze Intervals writes during cutover, run a final delta migration of any records modified during the migration window, then enable Jira as the system of record. We deliver a written inventory of every Intervals workflow, automation, and task template that requires rebuild in Jira — Jira's automation rules and Sprint-based workflows are structurally different from Intervals' static timesheet and approval flows, so we do not migrate them as code. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. Post-migration admin support, Jira training, and workflow rebuild are separate engagements.
Platform deep dives
Intervals
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 Intervals 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
Intervals: Not publicly documented.
Data volume sensitivity
Intervals 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 Intervals to Jira migration scoping. Not seeing yours? Book a call.
Walk through your Intervals 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 Intervals
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.