Move Asana tasks to GitHub Issues
Drop an Asana exportCSV, up to 1,000 tasks
Export from Asana
- 1Open the project in Asana and select the project name (the arrow next to the title) at the top.
- 2Choose Export/Print, then CSV. Asana downloads one row per task, with the project's sections and custom fields as columns.
- 3Open the downloaded CSV here. Asana's CSV has no comments; they exist only in the JSON export, which this page does not read.
Import into GitHub Issues
- 1Select Continue in importer above, or download the CSV and drop it into the CSV to GitHub Issues importer.
- 2Match Asana people to GitHub logins.
- 3Sign in with GitHub, pick the repository and import.
Field mapping
| Asana | GitHub Issues | What changes |
|---|---|---|
| Name | Title | Unchanged. |
| Notes | Body | Unchanged. |
| Task ID | Dedupe marker | Unchanged. |
| Tags | Labels | Split into a list at ",". |
| Section/Column | Labels | Converted by a rule specific to Asana. |
| Assignee Email, Assignee | Assignee | Unchanged. |
| Created At | Created date | Dates become ISO timestamps. |
| Last Modified | Updated date | Dates become ISO timestamps. |
| Completed At | Closed date | Dates become ISO timestamps. |
| Comments (only in Asana's JSON export, not its CSV) | Not moved | Stays in Asana. |
| Attachments and images stored in Asana | Not moved | Stays in Asana. |
| Subtasks as sub-issues (each becomes its own issue; the parent is written as text) | Not moved | Stays in Asana. |
| Dependencies as links (Blocked By and Blocking are written as text) | Not moved | Stays in Asana. |
| Custom fields as fields (Priority, Estimate and the rest are written as text) | Not moved | Stays in Asana. |
| Task history, likes and followers | Not moved | Stays in Asana. |
FAQ
Does my Asana export leave my browser?
No. The file is read and converted in your browser, and nothing is uploaded. Only when you continue in the importer and sign in with GitHub do the converted issues go through Gitsu's server to GitHub, and Gitsu keeps no copy.
Are comments and attachments moved?
No. Asana's CSV export has no comments, which appear only in its JSON export, and neither export carries attachment files. Images and files stored in Asana stay there, so a link to them opens only for people with access to the Asana project.
What happens to sub-tasks?
Each sub-task is a row in the CSV and becomes its own GitHub issue. The converter writes its parent as a line such as "Parent task: Write homepage copy" at the end of the issue body, and dependencies are written the same way. No GitHub sub-issue or blocked-by links are created.
How many Asana tasks can I import?
The importer takes up to 1,000 issues at a time. Past that, split the CSV into parts and import them one after the other.
Where do sections, tags, assignees and due dates go?
A section becomes a label such as "Section: Build" and each tag becomes a label. The assignee's email is matched to a GitHub login in the importer, and completed tasks are imported closed. The due date, projects, custom fields and every other column are written at the end of the issue body, so nothing in the file is dropped.
Run your new GitHub issues in Gitsu, on a board that fits how your team already works.
Try Gitsu free