Content
View differences
Updated by Andrej Sandorf 6 days ago
### Goal
Let users create work packages in bulk from a spreadsheet.
### Requirements
* Accept `.csv` `.csv`
_To specify_: Handle encoding issues with the file
* Column contract
* Downloadable template for creating new CSV files
* Column reference in docs/user-guide/
* Date fields: ISO
* Text/date only: _To specify_: Core attributes: subject, type, description, estimated hours, percent complete, dates
* Must exist vs create on-the-fly - may not be possible because of necessary admin rights)
* Type, Status, Priority, Category _To specify_: status, priority, assignee by name
* Assignee _To specify:_ Custom fields by email address name?
* _To specify:_ Parent / hierarchy by row number, external ID?
_To specify:_ Relations by row number, external ID?
* _To specify:_ Version and category by name?
* _To specify:_ Backdate journals if created\_at and/or updated\_at are part of the data
* Error handling
* Validate the header row once, up front, and report unknown or ambiguous columns before any row is processed.
* Report the line number of each error encountered
* An error rolls back all changes
* Row or file-size limit
* Permission
* A dedicated `import\_work\_packages` permission, modelled on `export\_work\_packages`
* Not admin-only
* UI
* On the project level (_To specify: where?)_
* _To specify:_ Upload page with a downloadable sample file
* _To specify:_ Dry-run toggle
* _To specify:_ Reports progress
* _To specify:_ Is abortable
* Runs as a background job (_To specify:_ progress needed?)
* Notifications (e.g. assignee) _To specify:_ notifications to imported work packages are created (e.g. assignee) or suppressed
* Tag journals with `Journal::CausedByImport`
* Feature flag
### Out of scope
* User specified column mapping
* Attachments
* API endpoint
* Historic import (multiple rows for different states of the same work package)
* XLS/XLSX
* create fields/types/status on-the-fly - need admin rights
* Parent / hierarchy by row number, external ID
* Relations by row number, external ID
* Custom fields by name
* Version by name?
* Reports progress
* Is abortable
<br>
Let users create work packages in bulk from a spreadsheet.
### Requirements
* Accept `.csv`
_To specify_: Handle encoding issues with the file
* Column contract
* Downloadable template for creating new CSV files
* Column reference in docs/user-guide/
* Date fields: ISO
* Text/date only:
* Must exist
* Type, Status, Priority, Category
* Assignee
*
_To specify:_ Relations by row number, external ID?
* _To specify:_ Version and category by name?
* _To specify:_
* Error handling
* Validate the header row once, up front, and report unknown or ambiguous columns before any row is processed.
* Report the line number of each error encountered
* An error rolls back all changes
* Row or file-size limit
* Permission
* A dedicated `import\_work\_packages` permission, modelled on `export\_work\_packages`
* Not admin-only
* UI
* On the project level
*
*
*
* _To specify:_ Is abortable
*
* Notifications (e.g. assignee)
* Tag journals with `Journal::CausedByImport`
* Feature flag
### Out of scope
* User specified column mapping
* Attachments
* API endpoint
* Historic import (multiple rows for different states of the same work package)
* XLS/XLSX
* create fields/types/status on-the-fly - need admin rights
* Parent / hierarchy by row number, external ID
* Relations by row number, external ID
* Custom fields by name
* Version by name?
* Reports progress
* Is abortable
<br>