Skip to main content
The canonical reference for every ekso migrate command. Each per-source page links here for the global flag surface so the source-specific pages can stay focused on the source-specific quirks.

The four commands

Every source supports the same four verbs: The list-* verb is named per-source to match the customer’s mental model:
  • ekso migrate jira list-projects
  • ekso migrate linear list-projects
  • ekso migrate devops list-projects
  • ekso migrate zendesk list-projects
  • ekso migrate gemini list-projects

Global flags (every migrate command)

These flags work on every ekso migrate <source> <verb> invocation, alongside the standard CLI flags from Configuration (--url, --api-key, --format, --quiet, etc.).

collect flags

apply flags

See Identity resolution for what each --user-strategy does.

status flags

status is read-only and has no source-specific flags. It reads the most recent cache file (or --cache <FILE>) and prints:
  • Schema version of the cache
  • Row counts per Source* table (issues, comments, attachments, etc.)
  • IdMap progress per entity kind (how many items / users / files have been applied)
  • Whether the cache is fresh (collect-only) or partially / fully applied

A typical run

Idempotency model

Every apply writes (source-id → Ekso-id) pairs into an IdMap table inside the cache. A re-run reads the IdMap before each write and skips rows that already have an Ekso ID. This means:
  • Running apply twice in a row is a no-op the second time.
  • A killed apply (Ctrl-C, network blip, machine reboot) can resume cleanly with --resume.
  • Running apply without --resume after a partial run is still safe — it just re-checks every row and skips the applied ones. --resume skips the per-row IdMap lookup for speed.
If you want to start from scratch, delete the cache file (or run a fresh collect — each collect writes a new timestamped file).

Per-cache schema versioning

Every cache file is stamped with a schema_version. If you upgrade the CLI between collect and apply and the schema version changes, apply refuses to run and tells you to re-collect. This is intentional — silent data shape mismatches are worse than an explicit “please re-collect” error.

Where to next