Skip to content

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
Edited by long nguyen huy