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 free

Importing 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Create account