Import and export
The icon at the top right of the SmartLists panel on a work item - tooltip "Export / Import panel data." - opens the Manage Panel Data dialog, which has an Export tab and an Import tab.
The two are not symmetrical. You can export to CSV or JSON, but you can only import JSON. There is no CSV import.
Exporting
Open Manage Panel Data and stay on the Export tab.
Under Select the panels to export:, choose one or more of the SmartLists on this work item.
Under Select the type of export:, choose Export to CSV or Export to JSON.
Select Export. The file downloads immediately.
Files are named:
Panels_{panel names}_{YYYY-MM-DD_HH-MM}.csv
Panels_{panel names}_{YYYY-MM-DD_HH-MM}.json
Which format to use
CSV for sharing or analysis - it opens directly in Excel or Google Sheets. The first row is the column names, then one row per SmartList row. If you export several panels at once, they are stacked in one file, separated by a blank line.
JSON for moving a SmartList to another work item, or for programmatic use. It contains the panel definition as well as the data, which is why it can be imported, and a CSV cannot.
Three things to know about the CSV
Values are escaped properly. Cells containing commas, quotes or line breaks are wrapped in double quotes, and any embedded quotes are doubled, following RFC 4180. Free-form Text columns are safe to export - the column alignment holds.
Some values gain a leading apostrophe. Any value starting with =, +, - or @ is exported with a ' in front of it. This stops spreadsheet applications from treating the cell as a formula when the file is opened, which is a well-known way for a malicious value in an exported file to run code on someone else's machine.
The visible consequence is that negative numbers export as '-50, not -50. Most spreadsheet applications strip the apostrophe on import and treat the cell as text; if you need the column to be numeric for further calculation, format or convert it after opening.
Multi-value cells are pipe-separated. Checkbox, User and File columns export their values joined with | in a single field - for example, Vanilla Cake|Strawberry Cake.
Importing
Import copies SmartLists from one work item to another.
On the source work item, export the panels you want as JSON.
Open the JSON file in a text editor and copy its contents.
On the target work item, open the Manage Panel Data and switch to the Import tab.
Paste into the JSON Import Data: box. There is no file picker - paste is the only way in.
The dialog parses what you pasted and shows Select Panels to Import: Choose the panels you want.
Select Import.
What import does to existing SmartLists
Imported panels are matched against what is already on the work item by panel identity:
If the panel is not already on the work item, it is added.
If it is already there, the imported version replaces it completely - both the column structure and all the rows. Nothing is merged, and there is no warning.
Export the target work item first if it has data you cannot lose.
Import error messages
Message | Cause |
|---|---|
Please paste valid JSON data. | The box is empty or contains only whitespace |
Invalid JSON format. Expected an array. | Valid JSON, but not the exported array structure |
No valid panel data found in the JSON. | An array, but no entry has both a panel definition and its data |
The JSON file is not in the correct format. Please check the file and try again. | The text could not be parsed as JSON at all |
Please select at least one panel to import. | Valid JSON, but nothing selected |
Errors appear under the heading Error Importing Data.
The most common cause of the first three is pasting a CSV export instead of a JSON one, or pasting only part of the JSON file. Copy the whole file, including the outer [ and ].
Copying a SmartList to many work items
Import is a manual, one-work-item-at-a-time operation. If you need the same SmartList on many work items, use a template with an auto-population rule instead - see Templates and auto-population. That is what templates are for.
For a bulk one-off across existing work items, writing the issue property directly is more practical than repeated imports - see Using SmartLists data elsewhere.