Importing from Linear
Bringing a Linear team's issues into a project as tickets, keeping their identifiers, from Linear's CSV export.
A Linear team becomes one project: each issue a ticket with the same number, statuses, priorities and labels by name, the creator and assignee, and the created, completed and due dates. It goes through the CSV import, which this page walks through with Linear's own file. Comments and attachments are not in the file; estimates, cycles, projects and parent issues are, and can be kept as fields.
Export the workspace
In Linear's settings, under Administration, open Import / Export and choose Export CSV. The file is emailed to you and holds every issue in the workspace, across every team.
One file goes into one project, so give the import one team at a time: open the file in a spreadsheet, keep the rows whose Team is the one you are importing, and save that as its own CSV. Repeat for each team.
What the file holds
| Linear column | Becomes | Notes |
|---|---|---|
| ID | Key | ENG-123 keeps its number when the project's key is ENG; give a new project the team's key to keep the numbers people know. Otherwise tickets are numbered from 1 and the id stays in the ticket's record. |
| Title | Summary | |
| Description | Description | Linear descriptions are Markdown; choose Markdown as the format. |
| Status | Status | Each status becomes one, added to the project's workflow: Done, Canceled and Duplicate are done statuses, In Progress and In Review in progress, Backlog and Todo to do. |
| Priority | Priority | Urgent, High, Medium and Low become priorities. An issue with no priority says No priority, which becomes a priority of that name; clear those cells first, or archive that priority afterwards. |
| Creator | Reporter | A name, matched to a person or made a placeholder. |
| Assignee | Assignee | |
| Labels | Labels | Several in one cell. |
| Created | Created | |
| Updated | Updated | |
| Completed | Resolved | Canceled issues have no completed date and are not marked resolved. |
| Due Date | Due date | |
| Estimate, Project, Cycle Number, Cycle Name, Parent issue, Initiatives, Started, Triaged, Canceled, Archived | Fields, if you keep them | Tick keep unmapped columns as fields to have them. |
Import it
- Create the project with the team's key, or pick it, so the numbers are kept.
- Under Administration, CSV import, upload the team's file. The page shows the first rows and the suggested mapping, which recognises every column above.
- Choose Markdown as the format of descriptions.
- Tick activate people with an email address only if the file has addresses; Linear writes names, which become placeholders, claimed when the people are invited.
- Dry run, read the report, then Import.
After the import
- A parent issue is named in a field, if you kept the column; make the sub-task links by hand where it matters.
- Cycles are not sprints here; the cycle's name is a field on the ticket, and a board's sprints start afresh.
- An issue linked to several projects in Linear keeps them as text in the Project field.