As one of North America’s most recognized digital freight platforms, the company connects shippers and carriers through a sophisticated digital marketplace. Behind the scenes, its platform engineering team manages the Atlassian ecosystem powering internal operations.
When their ServiceNow contract approached renewal, they made a strategic decision: transition their entire IT service management function to Jira Service Management (JSM).
Deciding to switch was the easy part. Moving the data was the real challenge.
The Problem
The migration covered around 80,000 tickets: Incidents, Request Items (RITMs), and Service Catalog Tasks going back three years. Several things made this harder than a standard migration.
JSM has character limits that ServiceNow does not, so field values couldn't be copied over without transformation. Many tickets had comments from employees who had since left the company and had deactivated accounts.
The Jira API doesn't support backdating, so original timestamps couldn't be written directly. Tickets had parent-child relationships that needed to stay intact.
And there was already a live integration between ServiceNow and Jira Software running in production that couldn't be disrupted during the move.
The team also had a clear requirement: no external party would be given direct access to their production systems.
To summarise the main issues:
"The complexity of what needed to move, and the consequences of getting it wrong, made the case for Exalate.": Platform Engineering Team
Finding the Right Solution
Standard migration tools could handle basic field mapping, but not the transformation logic this project needed.
The team evaluated their options and chose Exalate.
Rather than a single cutover, Exalate set up a live bidirectional connection between ServiceNow and JSM. Both systems ran at the same time. The service desk kept working in ServiceNow while tickets were continuously synced into JSM in the background. When the team confirmed the data matched, they switched over on their own schedule.
"We needed a solution that could handle the data complexity, keep both systems running in parallel, and hand control back to us, not take it away.": Platform Engineering Team
The Actual Migration
Exalate’s Groovy-based scripting handled the transformation work.
JSM character limits were managed with field-level logic. Comments from deactivated accounts were routed through a generic user, with the original author's name written into the comment body.
Original creation dates from ServiceNow were preserved through direct API calls. Parent-child relationships were maintained using scripting logic.
The whole engagement ran in two-hour working sessions. No production access was handed over at any point.
The migration ran in two phases: live tickets first, then historical data. This kept the service desk running without interruption and gave the team time to validate before fully committing.
If you are scoping something similar, define your transformation requirements before touching any configuration. Know which fields need logic applied, not just a mapping. Set your validation criteria before you start, so you know exactly what you are checking before cutover.
|
"The ability to run both systems in parallel, validate the data, and choose our own cutover moment made this feel manageable.": Platform Engineering Team |
The Results
The project finished in three months.
The service desk operated in ServiceNow throughout the migration with no interruption. Once the team confirmed JSM had everything it needed, they cut over. No downtime, no scramble.
All 80,000 tickets moved to JSM with their full history: comments correctly attributed, original creation dates preserved, and parent-child relationships intact.
ServiceNow was decommissioned before the contract deadline, and everything was consolidated on one platform.
Because the team had been configuring and testing JSM throughout the process, they were already familiar with it by go-live. There was no adjustment period for the service desk.
|
"We decommissioned ServiceNow on schedule, with our full ticket history intact and our team already embedded in JSM. That's exactly what we needed.": Platform Engineering Team |
If you are working through a similar migration and want to talk through the approach, drop a comment or reach out to get to know your experience.