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