2019-09-04 21:01:54 +05:30
|
|
|
# Importing issues from CSV
|
2019-02-15 15:39:39 +05:30
|
|
|
|
2020-03-09 13:42:32 +05:30
|
|
|
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23532) in GitLab 11.7.
|
2019-02-15 15:39:39 +05:30
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
Issues can be imported to a project by uploading a CSV file with the columns
|
2020-04-08 14:13:33 +05:30
|
|
|
`title` and `description`.
|
2019-03-02 22:35:43 +05:30
|
|
|
|
|
|
|
The user uploading the CSV file will be set as the author of the imported issues.
|
2019-02-15 15:39:39 +05:30
|
|
|
|
2019-09-30 21:07:59 +05:30
|
|
|
NOTE: **Note:** A permission level of [Developer](../../permissions.md), or higher, is required
|
|
|
|
to import issues.
|
2019-02-15 15:39:39 +05:30
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
## Prepare for the import
|
|
|
|
|
|
|
|
- Consider importing a test file containing only a few issues. There is no way to undo a large import without using the GitLab API.
|
|
|
|
- Ensure your CSV file meets the [file format](#csv-file-format) requirements.
|
|
|
|
|
|
|
|
## Import the file
|
|
|
|
|
2019-03-02 22:35:43 +05:30
|
|
|
To import issues:
|
|
|
|
|
|
|
|
1. Navigate to a project's Issues list page.
|
|
|
|
1. If existing issues are present, click the import icon at the top right, next to the **Edit issues** button.
|
|
|
|
1. For a project without any issues, click the button labeled **Import CSV** in the middle of the page.
|
|
|
|
1. Select the file and click the **Import issues** button.
|
|
|
|
|
|
|
|
The file is processed in the background and a notification email is sent
|
2019-09-30 21:07:59 +05:30
|
|
|
to you once the import is complete.
|
2019-03-02 22:35:43 +05:30
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
## CSV file format
|
2019-02-15 15:39:39 +05:30
|
|
|
|
2019-09-30 21:07:59 +05:30
|
|
|
When importing issues from a CSV file, it must be formatted in a certain way:
|
2019-02-15 15:39:39 +05:30
|
|
|
|
2020-04-08 14:13:33 +05:30
|
|
|
- **header row:** CSV files must include the following headers:
|
|
|
|
`title` and `description`. The case of the headers does not matter.
|
|
|
|
- **columns:** Data from columns beyond `title` and `description` are not imported.
|
2019-09-30 21:07:59 +05:30
|
|
|
- **separators:** The column separator is automatically detected from the header row.
|
|
|
|
Supported separator characters are: commas (`,`), semicolons (`;`), and tabs (`\t`).
|
|
|
|
The row separator can be either `CRLF` or `LF`.
|
|
|
|
- **double-quote character:** The double-quote (`"`) character is used to quote fields,
|
|
|
|
enabling the use of the column separator within a field (see the third line in the
|
|
|
|
sample CSV data below). To insert a double-quote (`"`) within a quoted
|
|
|
|
field, use two double-quote characters in succession, i.e. `""`.
|
|
|
|
- **data rows:** After the header row, succeeding rows must follow the same column
|
|
|
|
order. The issue title is required while the description is optional.
|
2019-02-15 15:39:39 +05:30
|
|
|
|
2019-09-30 21:07:59 +05:30
|
|
|
Sample CSV data:
|
2019-02-15 15:39:39 +05:30
|
|
|
|
|
|
|
```csv
|
|
|
|
title,description
|
|
|
|
My Issue Title,My Issue Description
|
|
|
|
Another Title,"A description, with a comma"
|
|
|
|
"One More Title","One More Description"
|
|
|
|
```
|
2019-09-30 21:07:59 +05:30
|
|
|
|
|
|
|
### File size
|
|
|
|
|
|
|
|
The limit depends on the configuration value of Max Attachment Size for the GitLab instance.
|
|
|
|
|
|
|
|
For GitLab.com, it is set to 10 MB.
|