Guide
How to move your tickets from Linear or Jira to Cachejay
Export a CSV, upload it, and each Linear team or Jira project becomes a board. Ticket keys stay the same, so ENG-142 is still ENG-142, and so do status, priority, assignees, labels, dates, estimates, cycles or sprints, parents and blockers.
Cachejay's boards do what a small team uses Linear or Jira for: tickets with short ids, several people on a ticket, cycles, blocked-by links, an inbox, and GitHub pull requests that move tickets. Here's how to bring your tickets with you.
1. Export a CSV
- Linear: in your workspace settings, open Import / export and choose Export CSV. It includes every team; each team becomes its own board.
- Jira: open Filters, search for the project's issues (
project = APP), then Export and Export CSV (all fields). Export one project at a time, or several in one file.
2. Import it
On cachejay.com, open Boards and choose Import. Pick the file, choose whether the boards are yours or your team's, and pick the project they belong to, if any. Up to 5,000 tickets go in at once.
Or ask your AI app, if it can read the file:
› import ~/Downloads/linear-export.csv into Cachejay for the team ⎿ cachejay · create_board Imported 214 tickets from Linear onto 2 boards: Engineering (ENG), Design (DES). 2 assignees aren't on the board (Robin, Lee), so their names are kept in "Assigned in Linear".
3. Check what came over
Open a board and look at a ticket or two you know well. Statuses are columns in the order work moves through them, from backlog to done. Assignees are matched to your teammates by email first, then by name. Anyone who isn't on your team yet keeps their name in a separate field, so nothing is lost.
4. Set up how you work
- Cycles. Linear cycles come over with their dates, and the board keeps making new ones of the same length. For Jira, sprints come over by name. To work in cycles from here, turn them on under the board's Fields, Cycles. When a cycle ends, its unfinished tickets move to the next one.
- GitHub. Connect it on the board's Fields page. A pull request whose branch or title names a ticket, like
jo/eng-142-refunds, links to it, and merging it moves the ticket to Done. - AI apps. With Cachejay connected, Claude, ChatGPT, Claude Code, Codex and Cursor can read and update the tickets: “what's blocked in this cycle?”, “move ENG-142 to review”.
What comes over
- Title, description, status, priority, assignee and labels.
- Due date, estimate or story points, and when each ticket was made.
- Linear cycles with their dates, or Jira sprints by name.
- Parent tickets, and which tickets block which, across teams too.
- Jira's issue type.
Comments, attachments, history and custom fields not listed here stay behind. Any other CSV with a Title or Name column imports the same way, with the columns it shares with these.
Next: how teammates work on the same project in Cachejay.