Issues
Import issues from a CSV file or GitHub, export them as CSV or JSON, and send signed issue events to another program.
Import issues from a spreadsheet's CSV file or from a GitHub Issues export, and export every issue in Personal or a team as CSV or JSON. Webhooks send signed issue, comment and project events to an HTTPS address, and the REST API lists, reads, creates and updates issues.
Get started freeImporting a CSV file
Members who can edit import a CSV file with a header row, from a spreadsheet or another tracker. One import can create up to 200 issues.
Map the columns
Choose which column fills Title, 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.
Match the team's names
Statuses, projects, assignees and labels must match names that already exist in the team, and an empty status uses Backlog. Original ID is kept with each issue as a record of where it came from.
Check every row
Every row is checked before any issue is created. If a row has a problem, the message names the row and nothing is imported.
New identifiers
Imported issues will be numbered in the team's sequence, with a project's prefix when the row names a project.
Importing from GitHub Issues
Save a repository's issues as JSON with GitHub CLI on your computer, then upload the file on the same import page. Magpie receives only the uploaded file; GitHub CLI uses your own GitHub access.
- What is imported
- The title, body, labels, first assignee, and created and closed times. The GitHub issue number is kept as the Original ID.
- Open and closed issues
- Open issues go to the team's first Backlog status, and closed issues to its first Completed status.
- Labels and people
- Each label must already exist in the team with the same name, and an assignee's GitHub login must match a member's handle or name.
- Comments and pull requests
- Comments, attachments and pull requests are not imported.
Exporting as CSV or 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.
- CSV
- One row per issue: identifier, title, description, status, priority, assignee, creator, project, milestone, cycle, labels, due date, the created, updated, completed and cancelled times, and custom field values.
- JSON
- Also the team's projects, milestones, cycles, statuses, labels and custom fields, and for each issue its comments, activity, parent and related issues. Attachments are listed by name, type and size; the files themselves are not in the export.
Webhooks
Team admins create webhooks. Each one sends a JSON POST, for the events you choose, to an HTTPS address whose host resolves to a public address. Redirects are not followed.
- Issue events
- issue.created, including issues from a public form, the API or an import; issue.updated; issue.completed; and issue.deleted, when an issue is moved to Trash.
- Comment and project events
- comment.created, project.created and project.completed.
- Signatures
- The X-Magpie-Signature header has an HMAC-SHA256 of the delivery's timestamp and body, made with the webhook's signing secret. The secret is shown once; Rotate secret makes a new one and the old one stops working at once.
- Retries
- A 2xx response counts as delivered. After a failure Magpie tries again with increasing delays, up to 5 attempts in all, with the same event ID, so your endpoint can skip repeats.
- Pause
- Pause stops sending without removing the webhook. The Webhooks page shows when each one last delivered.
The Issues API
The version 1 REST API lists issues a page at a time, filtered by status, priority, project, assignee or search text. It reads an issue, creates one with a title, description and project, and updates its title, description, status, priority, assignee and due date. It also moves an issue to Trash and restores it, and lists and adds comments. An issue created through the API enters the team's Triage queue.
Requests use an API key, which comes with Pro and acts as the person who created it, with their access. A header chooses which of that person's teams to use, and writes need edit access to the team. The OpenAPI file lists each issue route and its fields.
GitHub pull requests and commits
When an issue's project links a GitHub repository, the issue page has a Development section. It suggests a branch name made from the identifier and title, and lists the pull requests and commits added to the issue by their GitHub address. Magpie keeps these links; it does not read pull request status from GitHub or create branches in GitHub.
Bring your issues in.
Create a Magpie account, open Issues and choose Import issues from the More menu.