Migrating from Jira

How to get there: Go to Settings → Import tab.

Move Jira issues used as a feedback backlog into ProductLift in three steps: export issues to CSV (or pull via API), prepare the columns, import.

Before you start

You'll need:

  • Jira project access (the Browse Projects permission at minimum).
  • A ProductLift portal with at least one board to import into.
  • For migrations over 1000 issues: a Jira API token. Jira's native CSV export caps at 1000 rows.

Jira terminology vs ProductLift

Jira ProductLift
Project Board
Issue Post
Issue Type Category, or post type
Status Status
Components Tags (or categories)
Labels Tags
Assignee Assigned To
Reporter / Creator Author Email
Priority (use Number of Votes as a proxy, or a custom field)
Fix Version Version / Release
Comments Comments
Sprint / Epic Link (drop, or include in description)

The most common Jira → ProductLift mapping is one Jira project per ProductLift board, with Status mapped directly and Components/Labels collapsed into Tags.

Note on integration vs migration

If you want Jira and ProductLift to coexist (devs work in Jira, customers vote in ProductLift), use the Jira integration instead of migrating. This article covers full migration where Jira is being replaced as the source of truth for feedback.

Step 1. Export your data from Jira

Per-project CSV (Jira Cloud, under 1000 issues)

  1. Open the project in Jira.
  2. Switch to List view.
  3. Click the More actions (⋯) menu.
  4. Choose Export → Export CSV (all fields).

Use "all fields", not "current fields", the "current fields" option excludes comments entirely.

The CSV includes:

  • Issue key, Summary, Issue Type, Status, Priority, Resolution
  • Assignee, Reporter, Creator, Created, Updated, Resolved, Due Date
  • Description, Project key, Project name
  • Components and Labels (one column per value, see gotcha below)
  • Comments (one column per comment, chronological)
  • Custom fields (custom field name as header)
  • Sprint and Epic Link (if Jira Software is enabled)

Filtered export (any size, capped at 1000)

For partial exports across projects: Filters → Search work items, apply JQL, then More actions (⋯) → Export → Export CSV (all fields).

API export (over 1000 issues)

For projects with more than 1000 issues, the API is required:

  1. Generate an API token at id.atlassian.com/manage-profile/security/api-tokens.
  2. Use POST /rest/api/3/search/jql (the legacy /search endpoint is removed).
  3. Auth: Basic auth with email + API token.
  4. Paginate via nextPageToken (not startAt).
  5. Companion endpoints: /issue/{key}/comment, /project/{key}/components, /project/{key}/statuses.

Plan defensive pagination, Atlassian has confirmed isLast doesn't always return true correctly. Track issue keys you've already pulled.

Step 2. Prepare the CSV for ProductLift

Jira CSVs have two normalization steps before they're ready to import.

Collapse multi-value columns

Jira exports Components, Labels, Fix Version, and Comment as separate columns per value (e.g., three components become Components, Components, Components as three columns). Before importing:

  • Merge Components columns into one comma-separated cell.
  • Merge Labels columns into one comma-separated cell.
  • Merge Comment columns into a single Description-suffix, or import separately as comments via the API.

A spreadsheet formula like =TEXTJOIN(",", TRUE, J2:L2) works. Or use a script.

Column mapping

Jira column ProductLift field
Summary Title
Description Description
Status Status
Issue Type Category, or post type
Components (merged) Tags
Labels (merged) Tags
Reporter Email Author Email
Assignee Email Assigned To
Created Created Date
Due Date Estimated Date
Priority (map to MoSCoW Priority, or use as Number of Votes proxy)
Fix Version Version (or Release for shipped versions)
Issue key (paste into Description as [JIRA-123] if you want a backlink)
Sprint / Epic Link (drop)

Status names

You don't need to rename Jira's statuses in your CSV. On the preview step, the importer detects any status that doesn't exist on the target board and lets you, per status:

  • Create new, name + color picker, attached to the target board.
  • Map to existing, pick an equivalent status that already exists.

A common mapping: Open → New, In Progress → In Progress, Done → Completed, Closed → Closed.

Step 3. Import into ProductLift

  1. Go to Settings → Import.
  2. Click Choose CSV or Excel file and pick your prepared CSV.
  3. Under Import into board, select the ProductLift board.
  4. Click Upload and Continue.
  5. On the Map Your Columns step, review the AI's suggested mappings.
  6. On the Preview step, use the Missing categories and Missing statuses panels.
  7. Click Import.

When it finishes, click View Imported Posts to see the batch.

After the import

  • Spot-check a handful of posts for title, description, status, tags, assignees, and author.
  • Adding comments. If you split comments out, add them via the ProductLift API.
  • Set up the Jira integration. If devs still work in Jira, you may want bidirectional sync going forward. See Integrate with Jira and Jira status mapping.
  • Install the widget. Let customers submit new feedback directly. See Install widgets.
  • Bring users across. See Inviting customers.

Prefer we handle it? Migration concierge

Jira migrations almost always need API extraction (1000-row limit), multi-value column normalization, and decisions on which custom fields to preserve. Send us your Jira workspace URL and API token and we'll handle the whole pipeline. Email support@productlift.dev to start a migration concierge request.

Advanced: API-based migration

For projects over 1000 issues, the API is mandatory:

  • Pull issues via POST /rest/api/3/search/jql.
  • Pull comments per issue via GET /rest/api/3/issue/{key}/comment.
  • Push into ProductLift via the ProductLift API.

If something goes wrong

  • Export stopped at 1000 rows? That's the Jira native cap. Use the API for the full set.
  • Comments missing? You exported "current fields" instead of "all fields". Re-run.
  • Non-ASCII text corrupted? Open the CSV in Excel as UTF-8 (Data → From Text/CSV → File origin: 65001 UTF-8) instead of double-clicking the file.
  • Multi-value columns confusing? Merge them before importing, see Step 2.
  • Different export path? Jira Data Center has a different export menu (Settings → Manage apps → Issues Views Plugin). Cloud instructions don't apply.

See Importing feedback posts for the full importer reference.