Import assets into Jira from CSV

Prepare your asset spreadsheet, choose a Jira import route, and test a few rows before importing the full file. Follow the steps for Assets, AssetPilot or work items.

Reviewed

To import assets into Jira, build or export one CSV per asset type, with a header row and a unique tag or serial for each asset. Use the Assets importer, your asset app’s importer or Jira’s CSV import for work items (issues). Test a few rows before importing the full file.

Prepare the CSV first

Start with the asset inventory CSV template, then adapt it to your destination. Complete this checklist before uploading.

  1. Keep one asset type per file. Separate laptops from contracts, for example, so each file has a consistent set of columns.
  2. Use one row per asset and a header row that describes each column. Remove totals and blank rows.
  3. Include a unique identifier, such as an asset tag or serial. Keep it stable so later imports can match existing records.
  4. Check status values against the existing status names in the destination. Correct mismatches before importing.
  5. Use one date format throughout. Assets defaults to MM/dd/yyyy unless you change the import structure. AssetPilot prefers YYYY-MM-DD.
  6. Save the file with UTF-8 encoding. For Assets, use a single-character delimiter; the default is a comma.
  7. Use email addresses for people. Assets also accepts account IDs. Check whether your chosen importer supports importing assignments.
  8. Include https:// in URL values. Assets accepts URLs beginning with http:// or https://.
  9. Save a small test file with a few representative rows. Include records with dates, statuses and references so the test covers those mappings.

For Assets references, check the destination objects before preparing the values: CSV references match the Label attribute, not Name or Key. Multiple values within one Assets attribute use ||.

Choose your import route

  • Atlassian Assets: use this when the inventory belongs in an Assets schema, with object types, attributes and references.
  • AssetPilot: use the app’s importer when the inventory belongs in AssetPilot.
  • Jira work items: use Jira’s CSV importer when you deliberately track each asset as a work item.

The destination determines the required columns, matching rules and limits. Prepare and test the file for that route before the full import.

Route 1: import into Atlassian Assets

Assets is available on paid Jira plans and paid Service Collection plans, and a paid Jira site does not need Jira Service Management (JSM) to use it. Atlassian is still rolling it out to some Jira customers, so check that your site has it first.

Follow these steps in the destination schema:

  1. Open the app switcher and select Assets.
  2. Open Schemas and choose the schema.
  3. Open Schema settings, then the Import tab.
  4. Create a CSV import structure for your file.
  5. Map the CSV columns to object types and attributes, using automatic or manual mapping. Set the date format if it differs from MM/dd/yyyy.
  6. Set a unique attribute as the identifier if the import should update existing objects. This is usually the label; verify that it uniquely identifies each asset.
  7. Set the mappings to ENABLED, then select Import data.
  8. Check Import succeeded/failed. Use Read details and View history to inspect the result before importing the remaining rows.

Without an identifier, a later import can recreate objects instead of updating them. A unique column in the spreadsheet is only useful for updates when the import mapping uses it as the identifier.

The import file maximum is 250 MB per schema. Each row imported as a new object counts toward your organization’s Assets allowance; attributes and references do not count separately. If the allowance is reached and extra usage is off, imports that add objects pause.

For the native workflow, see Atlassian’s instructions for running an import.

Route 2: import into AssetPilot

AssetPilot is made by Plugins Factory, the publisher of this page.

Use the template for the destination asset type. It includes standard columns followed by that type’s custom fields.

  1. Open Import and choose the asset type.
  2. Select Download template and fill it with your asset data.
  3. Upload the completed CSV file.
  4. Check the suggested column mapping. Header aliases can map automatically: “Serial number” and “S/N” map to Serial, while “Vendor” maps to Supplier.
  5. Review the validation preview for every row. Correct errors before continuing where possible.
  6. Choose whether to skip or update rows that match an existing tag or serial.
  7. Run the import. If rows fail, download the error report CSV and use it to correct the failed rows.

Name is always required, along with any fields marked as required for the chosen type. The template also includes Tag, Status, Serial, Location, Assignee email, Supplier, Purchase date, Purchase cost, Currency, Warranty end and Notes.

Dates should use YYYY-MM-DD. The importer also accepts YYYY/MM/DD and DD.MM.YYYY; ambiguous dd/mm/yyyy dates are not guaranteed. Status values must match an existing status name. Unknown locations are created as needed.

Although the template includes Assignee email, assignments cannot be set during import yet. Check assets out after importing.

Files must have a .csv extension and be 5 MB or smaller, with no more than 10,000 rows per import. Version 0.1 holds up to 5,000 assets per Jira site, so one file cannot take you past that. Rows with errors are skipped, and duplicate tags or serials within the file are flagged.

See AssetPilot and the AssetPilot documentation.

Route 3: import assets as Jira work items

Use this route when each asset should be a work item. The trade-off is that a work item per asset mixes inventory with work.

  1. Prepare a CSV with a Summary column. Put the asset name in this column, or map your asset-name column to Summary during import.
  2. As a Jira admin, open System → External System Import → CSV.
  3. Upload the file and complete the field mappings in the wizard.
  4. Set the date format in the wizard to match your file. Jira uses Java SimpleDateFormat patterns.
  5. Import the test rows and inspect the created work items before continuing.

Atlassian recommends 1,500 work items per file. See its CSV import instructions for the full workflow.

Common problems and fixes

  • Duplicates after re-import: in Assets, configure a unique attribute as the identifier so the importer updates matching objects.
  • Dates rejected: match the file’s date format to the importer’s settings. Avoid ambiguous dates.
  • Unknown status: replace the value with an existing status name before retrying.
  • References not linked: in Assets, supply the referenced object’s Label attribute value, rather than its Name or Key.
  • Users not matched: for Assets user attributes, use email addresses or account IDs and check the mapped column.
  • Special characters garbled: save the CSV as UTF-8 and check the import encoding.

Check the result before continuing

Compare the source row count with the object count, allowing for updates and skipped rows. Spot-check five records, including their identifiers, dates, statuses and references. Export to CSV to confirm the stored values, then link assets to the relevant work items.

Start with the asset inventory CSV template and a small test file. Before a larger Assets import, review Jira asset management pricing: imported objects count toward the allowance. For help choosing a destination, read the Jira asset management guide.

Frequently asked questions

Can I update existing assets with a CSV?

Yes. In Assets, configure a unique attribute as the import identifier. AssetPilot lets you update or skip records matching an existing tag or serial.

How many rows can I import at once?

AssetPilot accepts up to 10,000 rows per CSV, with a 5 MB file limit and a 5,000-asset site limit. Assets has a 250 MB import file maximum per schema. For Jira work items, Atlassian recommends 1,500 per file.

Can I import assignments?

Assets can identify users by email address or account ID when importing user attributes. AssetPilot does not import assignments yet; check assets out after the import.

Sources