Project

General

Profile

HowTo import issues » History » Version 6

Mischa The Evil, 2017-07-02 10:46
Add some info and examples from #25799.

1 1 Moritz Who Cares
h1. HowTo import issues
2
3 6 Mischa The Evil
"Since 3.2.0":http://www.redmine.org/news/104 Redmine can import issues from CSV files (#950).
4
In the issues tab there is a import link on the right. You can import any CSV-type file. The first line must contain the column names. You can freely assign them to the different fields of an issue.
5 1 Moritz Who Cares
6
h2. Notes on different Fields
7
8
h3. Parent Issue
9 3 Moritz Who Cares
10 1 Moritz Who Cares
If the field starts with an #, the issue with that id is referenced. If the field contains a number it references the index of the issue in the import. Note that it's not the line number as line 1 contains the header.
11
12 6 Mischa The Evil
From #23396#note-2:
13
> Jean-Philippe Lang wrote:
14
>> When importing issues, the content of a the parent colum can be:
15
>> * a number without # (eg: 10) => the parent will be the 10th imported issue
16
>> * a number with # (eg: !#10) => the parent will be the existing issue with id=10
17
18
{{collapse(Two examples...)
19
A CSV file looking like follows (note the parent column values with the #-sign omitted):
20
21
|Subject|Startdate|Duedate   |Parent|
22
|taskA  |1/1/2016 |12/31/2016|      |
23
|taskB  |1/1/2016 |12/31/2016|@1@   |
24
|taskC  |1/1/2016 |12/31/2016|@1@   |
25
|taskD  |1/1/2016 |12/31/2016|@3@   |
26
|taskE  |1/1/2016 |12/31/2016|@3@   |
27
|taskF  |1/4/2016 |12/31/2016|@4@   |
28
29
will be imported creating the following issues tree:
30
<pre>
31
taskA
32
 -> taskB
33
 -> taskC
34
     -> taskD
35
         -> taskF
36
     -> taskE
37
</pre>
38
39
And, starting with Redmine version#119, you can even use a CSV file like:
40
41
|Subject|Startdate|Duedate   |Parent|
42
|taskF  |1/4/2016 |12/31/2016|@2@   |
43
|taskD  |1/1/2016 |12/31/2016|@5@   |
44
|taskE  |1/1/2016 |12/31/2016|@5@   |
45
|taskB  |1/1/2016 |12/31/2016|@6@   |
46
|taskC  |1/1/2016 |12/31/2016|@6@   |
47
|taskA  |1/1/2016 |12/31/2016|      |
48
49
which will be imported creating the following issues tree (equal to the example above):
50
<pre>
51
taskA
52
 -> taskB
53
 -> taskC
54
     -> taskD
55
         -> taskF
56
     -> taskE
57
</pre>
58
This extended feature behaviour is implemented through a separated issue (#22701).
59
}}
60
61 3 Moritz Who Cares
h3. Assignee
62 5 Pablo Estiga
63
This must be the username. (Name and lastname works, tested on redmine 3.3)
64
65
h3. Category and Target version
66
67
During test with 3.3, the assistant allowed me to use an option to automatically create version or category. 
68
69
h3. Project
70
71
The assistant will let you choose on which project you want to import the issue. 
72
73
h2. Assistant
74
75
The assistant will help you (tested on 3.3):
76
77
# Will ask for options with the file:
78
*Field separator*
79
*Field wrapper*
80
*Enconding*
81
*Date Format*
82
!example_import_options1.jpg!
83
# Then next step will ask for the fields to match
84 1 Moritz Who Cares
This is very interesting, because no matter what the names of the columns are, here you map which column is which field on the issue. 
85 5 Pablo Estiga
!example_import_csv.jpg!
86
87 6 Mischa The Evil
Attached attachment:"issues.csv" has the CSV used during test with 3.3.