Group Export/Import API
## Problem Organizations looking to adopt GitLab can find large-scale migrations challenging, especially when transitioning to GitLab.com. Instances with many projects or people frequently leverage Groups to make organization straightforward. However, GitLab's import/export capabilities sit at the project level - making it challenging to manage complex instances with many projects. To make it easier to move to GitLab, we need to improve the scope of our importer capabilities to make large-scale migrations simple to manage. ## Proposal This epic covers an MVC for a group-level import/export tool. As a GitLab administrator, I want to be able to import an entire group's worth of content and have it be re-created on a new instance (be that GitLab.com or another self-managed GitLab instance). The described functionality is available only through the API. This concept was explored at length in https://gitlab.com/gitlab-org/gitlab/issues/14239. This epic represents the components of this effort. When the issues in this epic have been successfully resolved, GitLab will have the ability to export a group into a package and import the group on another instance (re-creating the history and all associated artifacts/information with the group and child projects). ## Timeline This effort is beginning in %"12.4" but likely to take several milestones. Currently, our goal is to start enabling serviced migrations in %"12.7", with all of the features considered to be in scope being delivered in %"12.8". ## Scope ### In scope This epic intends to deliver only the features described in the issues list linked [below](https://gitlab.com/groups/gitlab-org/-/epics/1952#tree). Here is the explicit list of objects that are included in scope, as discussed here: (https://gitlab.com/gitlab-org/gitlab/issues/14239#note_219075229) * Epics (information associated directly with epics and epic-issue links) * Group activity history * Group settings * Group boards * Group labels * Group milestones * Group members * Packages * Additional objects: (moved from https://gitlab.com/groups/gitlab-org/-/epics/2485) * Board lists * Board-milestone link * Award emojis on epics * Epics activity info ### Out of scope All other capabilities are considered out of scope for this epic. These are some features that have been discussed, but are not considered in scope of this delivery (please note that this list is not exhaustive): * https://gitlab.com/gitlab-org/manage/issues/88 Future functionality, including a UI for Group Exports and Imports will be tracked here: https://gitlab.com/groups/gitlab-org/-/epics/2771
epic