Importing issues

Bring issues in from another tool with a CSV or Excel file, or connect to Jira, Redmine or ClickUp and keep pulling changes.

Settings → Migrate data

Moving from another tool? Migrate data brings your existing issues in, either from a spreadsheet export of any tool, or by connecting directly to Jira, Redmine or ClickUp and pulling issues — and later changes — over their API.

Where to find it

Open Settings → Migrate data. It has two tabs, File import and API import. Only people who can manage workspace settings — usually Owners and Admins — see it.

Import a CSV or Excel file

  1. Choose the project in Import into project.
  2. Export your issues from the old tool as .csv, .xls or .xlsx (up to 50 MB). Download template gives an example file with the usual columns.
  3. Drop the file on the upload area, or click it to browse.
  4. Check Match your columns and Review before importing (below).
  5. Leave Skip issues already imported (matched by external ID) on if you might import the same rows twice.
  6. Choose Import.
Keep the page open until every row has been uploaded. After that you can close it — the import carries on and you are notified when it ends.

Match your columns

Columns are matched by their usual names (Title or Summary, Assignee, Reporter Email…). For each column you can choose a standard field — External ID, Title, Description, Type, Priority, Status, Assignee, Assignee email, Reporter, Reporter email, Labels, Created date, Updated date, Resolved date, Resolution / closing comment — keep it as a Custom field, or Ignore this column. Columns that are empty in every row start out ignored.

Types are read as Bug, Story or Task: anything mentioning a bug or defect becomes a Bug; a story, feature or epic becomes a Story; everything else a Task. Rows with no title cannot be imported.

Review before importing

The review lists everything in the file the workspace doesn't have yet, each with a suggested choice you can change. Nothing is created until the import starts.

  • Assignees and Reporters — matched to members by email, then by name. Leave someone out, or add them as a member (this uses a seat; nobody is emailed).
  • Priorities — each priority in the file mapped onto one of yours.
  • Statuses — each status mapped onto one of the project's.
  • Other columns — kept as new custom fields of a suggested type, mapped to an existing field, or ignored.

Issues keep their original created and resolved dates. The review says whether all-number dates are read day-first or month-first.

Connect over the API

  1. On API import, choose Connect a new source and pick Jira (Cloud or Server: URL, email and API token), Redmine (URL and API key) or ClickUp (API token).
  2. Choose Test connection, then tick the remote projects to pull from.
  3. Choose Fetch a sample and set up the column mapping from what comes back. At least one field must map to Title.
  4. Pick Import into project and choose Save configuration.

The connection then appears under Saved connections. Choose Sync to pull now, or Schedule to sync automatically — Hourly, Daily or Weekly, with a limit on Issues per run. Each sync pulls only what changed since the last one, and only one sync runs at a time per connection.

History and failed rows

Every import and sync is listed with its project, status and counts of created, skipped and failed rows. When rows fail, download them as CSV or Excel — each with the reason first, then its original columns — fix them and import that file again. An upload stopped by closing the page shows as Upload interrupted, and you can discard it.