Skip to content

Import Jira (or any 3rd party tracker) issues CSV export into GitLab issues

  • In JIRA, export JIRA issues into a CSV export.
  • Generalize this to any third party tracker's CSV export.
  • Take that export and import that into GitLab, as new GitLab issues.

Design

  • Only Developer+ role has access to this feature.
  • The file should have a header row to work.
  • The file should have at least two columns.
  • During the import, GitLab will assume the first column is the issue title and the second column is the issue description.
  • GitLab automatically detects the separator used in the CSV file (comma is the default fallback). This could be detected based on the first line (header row) — e.g. if it finds a comma, we assume the separators are commas.
  • After the user uploads the file, they get a confirmation message that the upload was successful.
  • The issues are created async (so that the confirmation message appears as soon as the upload is successful, but before issue creation begins).
  • After all the issues are created, GitLab sends an email confirming it to the user.
  • If there's any error, GitLab sends an email saying so.
  • Doesn't have to be transactional. For example, if it fails after 2 issues created, but there are 100 rows in the CSV file, then that's fine. GitLab doesn't have to delete those 2 issues.
1. Button in empty state 1. Button in filled issues list 2. Modal 3. Import in progress
Add a “Import CSV” next to the “New issue” button. This opens a modal similar to the export one. Add a “Import CSV” button next to the “Export to CSV” button. This opens a modal similar to the export one. Update the icons, using our download and upload icons. The “Import issues” button is disabled by default, until the user chooses a file to upload. The “X issues will be imported” message is out of scope. When pressing “Import issues” in the modal, close it and show this message.
image image image image

Future iterations

  • Show a notice in the issues list indicating that an import process is ongoing.
  • Add a “Preview” step where the user can see how GitLab is interpreting the file, before importing.
    • As part of the “Preview” allow the user to overwrite the auto-detected separator character (comma, space, tab, custom; see import in Google Sheets).
    • We can also allow users to upload CSVs with extra columns then just select the column for title and description.
Edited by Pedro Moreira da Silva