Robert Barnebeck wrote:
[...] We´d like to connect the issues directly with the import. But we cannot insert the explicit issue number, because the parent issues don´t exist before import. And the second reason is that we want to us the import file as template, so there cannot be specific numbers.
Useful would be a kind of dynamic link between the issues. [...]
I think you can already achieve such with the current implementation for #950.
From #23396#note-2:
Jean-Philippe Lang wrote:
When importing issues, the content of a the parent colum can be:
- a number without # (eg: 10) => the parent will be the 10th imported issue
- a number with # (eg: #10) => the parent will be the existing issue with id=10
and from HowTo_import_issues#Parent-Issue:
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
So, a CSV file looking like follows (note the parent column values with the #-sign omitted):
| Subject |
Startdate |
Duedate |
Parent |
| taskA |
1/1/2016 |
12/31/2016 |
|
| taskB |
1/1/2016 |
12/31/2016 |
1 |
| taskC |
1/1/2016 |
12/31/2016 |
1 |
| taskD |
1/1/2016 |
12/31/2016 |
3 |
| taskE |
1/1/2016 |
12/31/2016 |
3 |
| taskF |
1/4/2016 |
12/31/2016 |
4 |
would be imported creating the following issues tree:
taskA
-> taskB
-> taskC
-> taskD
-> taskF
-> taskE
And, starting with not-yet-released Redmine 3.4.0, you can even use a CSV file like:
| Subject |
Startdate |
Duedate |
Parent |
| taskF |
1/4/2016 |
12/31/2016 |
2 |
| taskD |
1/1/2016 |
12/31/2016 |
5 |
| taskE |
1/1/2016 |
12/31/2016 |
5 |
| taskB |
1/1/2016 |
12/31/2016 |
6 |
| taskC |
1/1/2016 |
12/31/2016 |
6 |
| taskA |
1/1/2016 |
12/31/2016 |
|
which would be imported creating the following issues tree (equal to the example above):
taskA
-> taskB
-> taskC
-> taskD
-> taskF
-> taskE
This extended feature behaviour is implemented through a separated issue (
#22701).