Allow Placeholder users CSV mapping to keep as placeholder
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Release notes
Extend CSV mapping of placeholder users (UI and API) to also perform "do not reassign" step per row/user.
Problem to solve
Direct-transfer placeholder users CSV mapping feature offers the option to reassign placeholder users in bulk.
What it doesn't offer is the option to specify "do not reassign" i.e. "keep as placeholder user", per row/user.
This could be done via an extra column in the CSV mapping file, which would specify whether the backend should reassign, based on input from other columns (username or public email) or keep as placeholder (populated column controlling the features).
Proposal
Add an extra column to the CSV mapping file that would offer one to decide per user/row whether to "keep as placeholder user", both via UI and API.
e.g.
Source host,Import type,Source user identifier,Source user name,Source username,GitLab username,GitLab public email,Keep as placeholder
https://gitlab.com,gitlab_migration,42,Petar Prokic,pprokic,"","",yes
When parsing the CSV, if a row has GitLab username,GitLab public email completed and has Keep as placeholder set to true, we should skip processing that line and add to our list of errors #535229 (comment 2448861555).
Because people may enter anything into this new column, we should parse its content using Gitlab::Utils.to_boolean - so people could enter any of the following values to signal "true" for the column: true, t, yes, y, 1, on
We would update documentation
Intended users
Feature Usage Metrics
N/A
Does this feature require an audit event?
N/A