Import/Export work items at the group level
Summary
File exports/imports have been deprecated as per docs in favor of utilizing direct transfer. We are adding work items to direct transfer in #454277.
In this issue, we want to extend exporting and importing issues via csv at the project level to export/import any work item at the group level.
| Problem to solve | Acceptance criteria | Common use case |
|---|---|---|
|
As a Product Manager overseeing multiple projects across groups, I want to export work items (issues, epics, and custom work items) from my group and all its subgroups, So that I can create comprehensive status reports for senior management using my preferred data analysis tools. |
Acceptance Criteria: 1. From within a group view of work items (list, board, roadmap), I can select an option to export filtered data 2. I can select specific work item types (epics, issues, requirements) to include in the export 3. I can choose to export items from the current group and all its subgroups 4. I can filter items based on specific criteria 5. The export should generate a CSV file that maintains work item relationships and hierarchies 6. The exported data should include all fields 7. I can download the generated CSV file for use in external tools |
1. Parker, a Product Manager at a large organization, is responsible for overseeing multiple projects across different groups in GitLab. 2. They need to create a comprehensive status report for senior management, which requires data from various work items (issues, epics, and other custom work item types) across multiple groups and their subgroups. 3. Parker navigates to the group export page for the top-level group they're managing. 4. They select the option to include work items in the export and chooses to export work items from the current group and all its subgroups. 5. Parker is presented with options to select specific work item types (e.g., epics, issues, requirements) and chooses the ones relevant to their report. 6. They also have the option to export all items or only selected items from specific lists or boards, allowing them to focus on the most critical projects. 7. Parker initiates the export process, and the system generates a CSV file containing all the selected work items, maintaining their relationships and hierarchies. 8. Once the export is complete, Parker downloads the CSV file. 9. Using the exported data, Parker can now: - Create custom reports and visualizations in their preferred tool (e.g., Excel, Power BI) - Analyze progress across multiple projects and groups - Identify bottlenecks or areas needing attention - Prepare a comprehensive status report for senior management 10. Parker can repeat this process regularly (e.g., weekly or monthly) to keep their reports up-to-date and track progress over time. |
Spike goals
This technical spike intends to explore requirements, complexity, and approaches for extending the existing project-level work item import/export functionality to work at the group level. A spike is necessary to ensure we properly handle the aggregation and distribution of work items across multiple projects and subgroups while maintaining consistency with existing import/export behavior.
- Analyze current project-level import/export implementation:
- Document existing import/export functionality and technical architecture
- Identify components that can be reused for group-level implementation
- Review current performance characteristics and scaling considerations
- Understand how work item relationships are preserved during import/export
- Investigate technical requirements for extending functionality to group level:
- Determine approach for aggregating work items from multiple projects during export
- Explore how imported work items should be distributed across projects within a group
- Assess impact on existing import/export service architecture
- Analyze handling of work items from subgroups and their projects
- Evaluate performance implications:
- Analyze impact of processing work items from multiple projects simultaneously
- Identify potential bottlenecks for both import and export at group scale
- Propose solutions for handling increased data volume at group level
- Consider strategies for batch processing of large imports
- Explore permission and access considerations:
- Review how existing project-level import/export permissions apply at group level
- Analyze handling of cases where users have varying access levels across projects
- Determine permission requirements for distributing imported work items
- Determine necessary changes to existing components:
- Identify required modifications to current import/export services
- Assess updates needed for API endpoints
- Evaluate frontend changes to support group-level import/export options
- Review CSV format requirements for group-level operations
- Address import-specific considerations:
- Explore strategy for handling project assignment of imported work items
- Determine approach for maintaining work item relationships across projects
- Analyze how to handle conflicts or duplicates during import
- Outline testing approach:
- Performance testing with varying group sizes and project quantities
- Verification that existing project-level functionality remains unchanged
- Validation of permissions across complex group hierarchies
- Testing of bidirectional conversion (export followed by import)
- In addition to addressing the above spike goals, the output of this spike should include:
- A proposed implementation plan broken down into discrete epics and issues that:
- Represents the minimum viable change for each iteration
- Identifies clear dependencies between work items
- Indicates the required ordering of implementation
- Provides estimated level of effort for each component
- Highlights any required infrastructure or architectural changes that should be completed first
- Each proposed epic/issue should include:
- Clear acceptance criteria
- Technical implementation notes
- Potential risks or complications
- Testing considerations
- A proposed implementation plan broken down into discrete epics and issues that:
Edited by Amanda Rueda