GitLab Project Import: Preserving user contribution associations with existing group members
Problem to solve
As described in #19128 (closed), an admin account is required to import projects with contributions associated to users.
User experience goal
User should be able to import projects with contributions associated with current group members.
- importing into a group namespace (not user namespace)
- importing user is an owner/maintainer within (sub)group (should be tied to project creation option? which can include developer)
- contributor is a member of the group
Note: in this case, all contributions will be associated with the importing user where conditions are not met as usual. This means that contributions will not be associated if:
- user does not exist
- email associated with user listed in project export does not match the primary email of any user
- user exists but is not a member of group
As evidenced in #19128 (closed), this is frequently asked for, particularly for GitLab.com as users are never admins on this instance.
Support currently has a workaround for small use cases, but it's very resource intensive, and the demand for this is growing.
Permissions and Security
This should be safe as contribution mapping is scoped to group membership, so would not require admin priviledges.
Existing documentation would need to be updated:
- project imports: https://docs.gitlab.com/ee/user/project/settings/import_export.html#important-notes
- migrating projects: https://docs.gitlab.com/ee/user/project/import/#migrating-from-self-managed-gitlab-to-gitlabcom
Side note, Support process would also need to be updated.
Availability & Testing
What does success look like, and how can we measure that?
Support no longer gets requests for these types of imports.
What is the type of buyer?
This currently affects all users interested in preserving associations.