Work Items list [BE] - Implement Import/Export by CSV
Enable users to import and export work items using CSV files.
Import
In the legacy issues list, the frontend makes a POST request to a URL like http://127.0.0.1:3000/flightjs/Flight/-/issues/import_csv
(using import_csv_namespace_project_issues_path
) with CSV data to import issues.
-
Add a mutation in GraphQL to allow creation of work items with CSV text -
Use WorkItems::ImportCsvService
for importing work items -
Note that there is a separate issue for handling work items imports at group level see Import/Export work items at the group level (#446154)
Export
In the legacy issues list, the frontend makes a POST request to
a URL like http://127.0.0.1:3000/flightjs/Flight/-/issues/export_csv?sort=created_date&state=opened&first_page_size=20
(using export_csv_project_issues_path(project)
) to receive an email with the filtered issues.
We also have a related issue #499314 (closed) to add more filters to the legacy export csv endpoint.
-
Add a mutation in GraphQL to allow exporting filtered work items to an email - mutation was added:
[workItemsCsvExport](https://gitlab.com/gitlab-org/gitlab/blob/system_default_to_custom_status_transition_mapping/app/graphql/mutations/work_items/csv/export.rb#L7-7)
- mutation is behind
import_export_work_items_csv
FF
- mutation was added:
Edited by long nguyen huy