Import and export issues
Download a team's issues as CSV or JSON, and bring issues in from a CSV file or a GitHub Issues export made with GitHub CLI.
Export issues
On the Issues page, choose More, then Export CSV or Export JSON. Anyone in the team can export. The file has every issue in Personal or the selected team, not only the ones the list is showing; issues in Trash are left out.
The CSV has one row per issue: identifier, title, description, status, priority, assignee, creator, project, milestone, cycle, labels, due date, created, updated, completed and cancelled times, custom field values and the issue's internal ID.
The JSON also has the team's projects, milestones, cycles, statuses, labels and custom fields, and for each issue its comments, activity, parent, related issues and attachment details. Attachments are listed by name, type and size; the files themselves are not in the export.
Import from a CSV file
Members who can edit choose More, then Import issues. Choose a CSV file with a header row and choose Preview columns. The import page shows the largest file one import accepts; one import can create up to 200 issues.
Under Map columns, choose which column fills each field: Title
(required), Description, Status, Priority, Assignee,
Labels, Project, Due date, Original ID, Created at and
Closed at. A column whose heading matches a field, such as title or
status, is chosen for you. Check the first rows shown below, then choose the
Import button, which shows how many issues will be created. If the page
says the preview expired, upload the file again.
- Status, Project, Assignee and Labels must match names that already exist in the team. An empty status uses Backlog. An assignee can be given by name or handle. Separate several labels with commas or semicolons.
- Priority is one of No priority, Urgent, High, Medium or Low.
- Due date uses
YYYY-MM-DD. Created at and Closed at use UTC times written asYYYY-MM-DDTHH:MM:SSZ. - Original ID is kept with the imported issue as a record of where it came from.
Every row is checked before any issue is created. If a row has a problem, the message names the row and nothing is imported. Imported issues get new identifiers in the team's sequence, with the project's prefix when a project is given.
Import from GitHub Issues
Use GitHub CLI on your computer to save a repository's issues as JSON, then upload the file on the same Import issues page:
gh issue list --repo OWNER/REPO --state all --limit 200 --json number,title,body,state,labels,assignees,createdAt,closedAt > issues.json
The import keeps each GitHub issue number as its Original ID. Open issues go to the team's first Backlog status, or the first Unstarted or Started status if there is none, and closed issues go to the first Completed status. The title, body, labels, first assignee, and created and closed times are imported. Each label must already exist in the team with the same name, and the assignee's GitHub login must match a member's handle or name. Comments, attachments and pull requests are not imported. Magpie receives only the uploaded file; GitHub CLI uses your own GitHub access.
For help with imports and exports, Contact support.
Ask Magpie support
Send Magpie staff a question about anything this article does not answer.