Project Management migration
Field-level mapping, validation, and rollback between AGILITY and Jira. We move data and schema; workflows are rebuilt natively in Jira.
AGILITY
Source
Jira
Destination
Compatibility
11 of 12
objects map 1:1 between AGILITY and Jira.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from digital.ai Agility to Jira is a schema translation, not a record copy. Agility stores work in a layered ALM hierarchy (Projects, Teams, Sprints, Stories, Defects, Tasks) with attachments managed through a separate OID registry and custom fields identified by their System Name in the Data Mart, not their display label. Jira uses a flat project-based structure where Stories, Bugs, Tasks, and Epics are all Issue types within a Project, and custom fields are created with display-naming conventions. We resolve the Agility Data Mart System Name to Jira custom field mapping during discovery, flatten the iteration calendar into Jira Sprints, split Test Sets and Test Cases into Jira's Test Management structure, and run a two-pass attachment workflow to prevent orphaned references. Agility's Enterprise-tier API access requirement is verified before extraction; Starter and Pro tier customers without API access receive a file-based migration path using Agility's native export. Workflows, automations, and ALM-specific governance rules do not migrate as configuration code.
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 AGILITY 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.
AGILITY
Project
Jira
Project
1:1Agility Projects map directly to Jira Projects. Each Agility Project OID is preserved in a custom Jira field agility_oid__c for traceability. Project metadata including name, description, owner, and team assignments migrate as Project-level fields. If the customer uses multiple Agility Teams within a single Project, we discuss whether to consolidate into one Jira Project with multiple Boards or create separate Jira Projects per Team.
AGILITY
Sprint/Iteration
Jira
Sprint
1:1Agility Iterations (with start date, end date, status, and velocity settings) map to Jira Sprints. We preserve the iteration name, start/end dates, and status (Active, Closed, Planning) as Sprint fields. If Agility uses multiple concurrent Iterations, these map to multiple active Jira Sprints within the same Project. Historical sprint velocity metrics from Agility become custom fields on the Jira Sprint for reporting continuity.
AGILITY
Story
Jira
Story (Issue Type)
1:1Agility Stories map to Jira Story issues within the destination Project. The Story title, description, acceptance criteria, story points (if numeric), status, and priority migrate directly. Parent-child relationships to Epic or parent Story in Agility become Jira Epic links or parent Story links. Custom fields on the Story use the System Name-to-Jira field mapping generated during discovery. Stories without a direct Jira equivalent are mapped to the closest Issue Type during scoping.
AGILITY
Defect
Jira
Bug (Issue Type)
1:1Agility Defects map to Jira Bug issues. Defect-specific fields (severity, detected-in-iteration, resolution type, steps to reproduce) migrate to Jira Bug fields or custom fields of equivalent type. The Defect-to-Story parent relationship maps to the Jira Bug's parent Epic or linked Story. Defects with no severity equivalent in Jira's default configuration become custom Jira priority or severity fields that we configure before import.
AGILITY
Task
Jira
Sub-Task or Task (Issue Type)
1:1Agility Tasks (child work items belonging to Stories or Defects) map to Jira Sub-Tasks linked to their parent Story or Bug. Task fields including assignee, estimated hours, remaining hours, and status migrate directly. If the customer's Agility uses Tasks as standalone work items rather than children, we map them to Jira Task issues at the same level as Stories. Parent-child linkage is reconstructed using the Agility work item OID preserved in agility_oid__c.
AGILITY
Test Set
Jira
Test Cycle
1:1Agility Test Sets aggregate Test Cases and generate Fact.PrimaryWorkitem records in the Data Mart. They map to Jira Test Cycles (Xray) or Test Executions (Zephyr) depending on the customer's Jira add-ons. The Test Set name, description, assigned tester, and execution status migrate. If the customer does not have a test management add-on installed, Test Sets are mapped to Jira Epic or Label for manual test management configuration post-migration.
AGILITY
Test Case
Jira
Test
1:1Agility Test Cases (with steps, expected results, and custom fields) map to Jira Test Case records under the corresponding Test Cycle or Project. Step-level data decomposes into Jira's test step structure with the Given-When-Then format if the destination supports it. Test Case status from Agility (Draft, Approved, Active) maps to Jira test status values. Any fields that exist in Agility Enterprise but have no Jira equivalent are flagged in the mapping document for manual recreation.
AGILITY
Issue
Jira
Issue or Story (Issue Type)
1:1Agility Issues are tracked in Fact.Issue and behave like standalone Defects with their own schema distinct from primary work items. They have status, priority, assignee, and description fields. We migrate them as first-class Jira Issues or as Story-type issues depending on the customer's Jira project configuration. Issue-specific fields (issue-type classification, external reference) migrate to custom Jira fields.
AGILITY
Custom Field
Jira
Custom Field
1:1Agility custom fields (checkbox, date, text, number, drop-down) on any asset type map to Jira custom fields of the matching type. The critical mapping is System Name to Jira field: the Agility Data Mart generates column names from the field's System Name, not its display label. During discovery we extract both the System Name and display label and generate a dual-key mapping table. Without this, destination field matching silently fails and data lands in the wrong columns or is dropped.
AGILITY
Attachment
Jira
Attachment
lossyAttachments in Agility are stored as binary assets with a separate OID registry from the work item JSON payload. We run a two-pass workflow: first, we export the work item data and attachment OID list; second, we upload attachments to Jira (using the Jira REST API attachment endpoint), capture the Jira-generated attachment IDs, then update the cross-reference table mapping Agility OID to Jira attachment ID. Finally we re-associate the attachment with the parent work item. This prevents orphaned attachment references. Jira's attachment size limit is 256 MB per file; we flag any Agility attachments exceeding this during discovery.
AGILITY
Member/User
Jira
User
1:1Agility user records (display name, email, role, team membership) map to Jira Users. We resolve users by email match against the Jira destination instance. Active Directory integration in Agility can source users externally; we detect whether Jira will use local user management or directory-based provisioning (Atlassian Access, Google Workspace, Okta, Azure AD) and align the migration accordingly. Users without a matching Jira account are held in a reconciliation queue for the customer's admin to provision before record import.
AGILITY
Comment
Jira
Comment
1:1Comments on Agility work items (author, timestamp, body) migrate as Jira Comments on the corresponding Issue. Author attribution is preserved by resolving the Agility user email to the Jira User account. Comment timestamps are preserved as the Jira comment creation date. Rich-text comments from Agility are converted to Jira's Wiki markup or kept as plain text depending on complexity. Comments on Test Cases, Defects, and standalone Issues all migrate with their parent work item.
| AGILITY | Jira | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Sprint/Iteration | Sprint1:1 | Fully supported | |
| Story | Story (Issue Type)1:1 | Fully supported | |
| Defect | Bug (Issue Type)1:1 | Fully supported | |
| Task | Sub-Task or Task (Issue Type)1:1 | Fully supported | |
| Test Set | Test Cycle1:1 | Fully supported | |
| Test Case | Test1:1 | Fully supported | |
| Issue | Issue or Story (Issue Type)1:1 | Fully supported | |
| Custom Field | Custom Field1:1 | Fully supported | |
| Attachment | Attachmentlossy | Fully supported | |
| Member/User | User1:1 | Fully supported | |
| Comment | Comment1: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.
AGILITY gotchas
Edition-gated API access blocks migration extraction
Custom field System Name vs. display label mismatch
Rate limits are undocumented for direct consumption
Test Set and Test Case schemas vary by Agility edition
Attachment OID registry requires a separate migration pass
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 edition verification
We audit the source Agility instance across edition (Starter/Pro/Enterprise), API access availability, custom field inventory (with System Name extraction from Data Mart), work item counts by type, iteration calendar, test asset inventory (Test Sets, Test Cases, step counts), attachment volume and file size distribution, and user roster. If the Agility edition is Starter or Pro (no API access), we scope a file-based extraction path using Agility's native export, acknowledging the field limitations upfront. The discovery output is a written migration scope document with the full object inventory and a flag for any unsupported asset types.
Schema design and field mapping
We design the destination Jira project structure: Jira Project key, Issue type scheme (Story, Bug, Task, Sub-Task), field configuration, and screen scheme. For every Agility custom field we create a corresponding Jira custom field of the closest matching type (text, number, date, select, multi-select). The critical deliverable here is the System Name-to-Jira field mapping table generated from the Agility Data Mart. We also configure the Jira sprint board, backlog, and any required workflows before data import. If the customer uses a test management add-on (Xray, Zephyr), we configure Test Cycles and Test Case issue types at this stage.
Attachment export and OID registry extraction
We extract the Agility work item JSON payload alongside the attachment OID registry. Attachments are downloaded as binary files from Agility and stored in a migration staging directory organized by work item OID. We generate the Agility-OID-to-attachment-file mapping table at this stage. Any attachments exceeding Jira's 256 MB limit are flagged for the customer to decide whether to exclude, split, or host externally with a link substituted.
Sandbox migration and reconciliation
We run a full migration into the customer's Jira Sandbox environment (or a trial Jira Cloud site if no Sandbox exists) using production-equivalent data volume. The customer's project manager and QA lead reconcile record counts, spot-check 25-50 random issues against the Agility source, verify sprint calendar accuracy, and confirm test case step structure. Any mapping corrections (wrong field, missing values, wrong issue type) happen here before production migration begins. We also validate that Jira required fields are not blocking import batches.
Production migration in dependency order
We run production migration in dependency order: Jira Users (manual provisioning validated), Projects, Sprints (iteration calendar), Stories and Epics (with parent links resolved), Bugs and Defects, Tasks (with parent references resolved), Test Cases (with step structure decomposed), Comments (linked to parent issue), and Attachments (uploaded and re-associated via cross-reference table). Each phase emits a row-count reconciliation report before the next phase begins. We use Jira's REST API for standard issues and the Jira Bulk API for large record batches with rate-limit handling and checkpoint logging.
Cutover, validation, and workflow rebuild handoff
We freeze Agility 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 Agility workflows, SLA rules, and governance configurations requiring rebuild in Jira. Jira's workflow builder (or Jira Automation) is the replacement target. We do not rebuild Agility automations as Jira automations inside the migration scope; that is a separate engagement. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team.
Platform deep dives
AGILITY
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 AGILITY 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
AGILITY: Rate limiting is documented but specific quota values are not publicly disclosed; limits vary by Agility edition and org tier.
Data volume sensitivity
AGILITY 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 AGILITY to Jira migration scoping. Not seeing yours? Book a call.
Walk through your AGILITY 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 AGILITY
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.