Sooner or later every Assets (formerly Insight) admin needs the whole CMDB out: an auditor wants the asset register, a migration needs a baseline, or someone sensible wants a backup before a big cleanup. And then you discover the gap: Jira Service Management Assets has no built-in bulk export of an object schema. The feature request has been open on the JSM issue tracker for years with hundreds of votes, and the accepted workaround is exporting object type by object type, by hand, from the UI.
Why there is no easy native path
- The UI exports one object type at a time. A real schema has dozens of types; a full pull is dozens of manual exports that then need stitching.
- Attributes vary per type. Each object type has its own attribute set, so naive concatenation produces misaligned columns.
- Reads are role-gated. Assets permissions live on each schema's Roles tab, separate from Jira permissions, which surprises every script author the first time.
The DIY approach: page the Assets REST API with AQL
- List schemas and object types via the Assets workspace REST API.
- For each object type, page through objects with an AQL query
(
objectType = "..."), requesting attributes with each page. - Normalize per-type attribute columns before writing CSV, or emit JSON and defer the flattening.
- Handle pagination limits, rate limits, and the schema-role grant for whatever account the script runs as.
It works, and like most one-off admin scripts it then has to live somewhere, keep its API token somewhere safer, and survive the next person asking for the same export six months later.
A ready-made option: Assets Export Manager
Pick an object schema, pick CSV or JSON, and it exports every object with all attributes in one run. It is read-only and honest about limits: very large schemas are truncated with a clear flag in the output rather than silently cut. One setup note, stated upfront because Assets gates reads behind schema roles: after install you grant the app read access on each schema's Roles tab, then it just works.
Key facts
- Native gap: no whole-schema export; the UI does one object type at a time.
- DIY fix: AQL-paged pulls per object type with per-type column normalization and schema-role grants for the script account.
- Packaged fix: one-click schema export to CSV or JSON, generated in-tenant, read-only, with explicit truncation flags on very large schemas.
Related reading: Jira's audit log has a similar export gap: how to keep records past the retention window.
Written by the team at Katabarwa Labs. We build small, single-purpose Azure tools that run entirely inside your own tenant. Questions: abaho@llmgraph.ai.