Migrate Boards with the Group
Problem to solve
For the Group Migration to be a viable solution for the users migrating Groups, we need to achieve parity with the Group Export/Import feature.
As part of the larger epic targeting parity with Group Export/Import, this issue adds Boards to Group Migration.
Proposed Solution
- Expose
created_atandupdated_aton GraphQL (#326126 (closed)) - GraphQL query
query groupBoards($full_path: ID!, $cursor: String) {
group(fullPath: $full_path) {
boards(first: $per_page, after: $cursor) {
page_info: pageInfo {
has_next_page: hasNextPage
end_cursor: endCursor
}
nodes {
name
weight
hide_backlog_list: hideBacklogList
hide_closed_list: hideClosedList
created_at: createdAt
updated_at: updatedAt
labels {
nodes {
title
}
}
iteration {
iid
}
milestone {
iid
}
assignee {
public_email: publicEmail
}
}
}
}
}
- Needs to be done first: #326129 (closed) and #326157 (closed)
- milestone, assignee, iteration are EE specific features - these values will be as
nullin CE. The transformation of these values must be done in an EE extension. - Associations Mapping:
- assignee: Use the
BulkImports::Common::Transformers::UserReferenceTransformer - iteration: use the
iidto find the already imported Iteration - milestone: We need to change the milestone importer to import
iidto be able to trust on it to map the milestone correctly. (🚫 Blocked for now) - labels: Extract the
add_labels(https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/ee/bulk_imports/groups/transformers/epic_attributes_transformer.rb#L46) to a genericBulkImports::Common::Transformers::LabelReferenceTransformerto use in the Epics pipeline and in the Boards pipeline. This will also be useful in the future for issues and merge requests.
- assignee: Use the
Future iterations
Migrating Board Lists has been split into a separate issue: #292430 (closed)
Documentation
Following documentation should be updated with the fields added in this issue:
-
User docs: https://docs.gitlab.com/ee/user/group/import/ -
Dev docs: https://docs.gitlab.com/ee/development/bulk_import.html
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.