Stay Updated

New tutorials, tips, and Atlassian insights. No spam, unsubscribe anytime.

L
LeanZero

An approachable expert helping teams simplify their Atlassian ecosystems. Sharing knowledge and building community, one solution at a time.

Services

  • Atlassian Migrations
  • AI Implementation Advisory
  • Forge App Development

Company

  • Blog
  • Contact

Community

  • Join Discord
  • Support this site

© 2026 LeanZero. All rights reserved.

Privacy Policy|Terms of Service|Service Level Agreement|Trust Center
  1. Home
  2. Portfolio
  3. Atlassian Asset Migrator
Migration Toolkit

Atlassian Asset MigratorDC to Cloud, Zero Data Loss

A battle-tested toolkit for migrating Jira Assets (Insight) from Datacenter to Cloud. Born out of necessity during a real enterprise migration where no off-the-shelf solution existed.

DC to Cloud
Zero Data Loss
Resumable
View on GitHub

The Challenge

Atlassian doesn't provide a turnkey migration path for Assets data. The documentation is sparse, the APIs are complex, and legacy Datacenter data brings its own surprises.

Undocumented Territory

Atlassian's Assets API documentation is notoriously difficult to decipher. Edge cases are everywhere, and the only way to figure things out is trial and error.

Tangled Dependencies

Assets data has deep relational structures—cross-schema references, circular dependencies, and objects that can't exist without each other.

Grueling Test Cycles

Every test run was long and tedious. Errors ranged from subtle data mismatches to hard API failures. There were no shortcuts—just persistence.

How It Works

A plan-driven architecture that pre-computes the entire execution order before touching Cloud. Every step is checkpointed for resumability.

1

Extract

Pull schemas, objects, attributes, references, and attachments from Datacenter via REST API.

2

Plan

Build a dependency graph, run topological sort, and detect circular references before creating anything.

3

Migrate

Create objects in Cloud in the correct order. Reference fields are resolved in a second pass after all objects exist.

4

Reconnect

Upload attachments and re-link Jira tickets to their migrated asset objects.

Built for the Hard Parts

The features that made the difference between a migration that sort-of-works and one that actually completes.

Circular Reference Handling

When Object A depends on B and B depends on A, neither can go first. A dedicated tracker defers these to a post-processing phase after all objects exist.

Resumable Operations

Migration state is checkpointed to disk. If it crashes at object 8,000 of 20,000, it picks up right where it left off—no duplicates, no data loss.

Multi-Token Parallelism

Distribute API calls across up to 5 tokens for higher throughput while respecting rate limits. Essential for large enterprise datasets.

Fuzzy Name Matching

Datacenter and Cloud don't always agree on naming. The schema mapper handles underscores, case differences, partial matches, and pipe patterns automatically.

Attachment Migration

File attachments are downloaded from Datacenter and re-uploaded to their corresponding Cloud objects with retry logic for transient failures.

Dry-Run Mode

Full validation pass without creating anything in Cloud. Catches attribute mismatches, missing references, and configuration errors before the real run.

Honest Trade-offs

No migration is perfect. Here's what this toolkit prioritizes and what it intentionally leaves behind.

What You Keep

  • All asset objects with their full attribute data
  • Cross-schema and circular object references
  • File attachments on every object
  • Jira ticket-to-asset connections
  • Schema and object type hierarchies
  • Status fields, select values, and all attribute types

What Gets Left Behind

  • Historical audit logs and change history
  • User account mappings (require manual adjustment)
  • Complex Assets-specific automation triggers
  • Datacenter-only features without Cloud equivalents

The history trade-off is deliberate—it ensures the core asset data migrates with zero loss rather than risking partial failures trying to move everything.

Planning a Jira Assets Migration?

The toolkit is open source and free. If you need help running a migration or want to talk through the approach, reach out.

View on GitHubAsk on Discord