Skip to content

Group placeholder reassignments API

  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

Version history

The availability of this feature is controlled by a feature flag. For more information, see the history.

Prerequisites:

  • You must have the Owner role for the group.

Use the following endpoints to reassign placeholder users in bulk without using the UI.

User contribution mapping is not supported when you import projects to a personal namespace. When you import to a personal namespace, all contributions are assigned to a single non-functional user called Import User and they cannot be reassigned. Issue 525342 proposes to map all contributions to the importing user instead.

Download the CSV file

Download a CSV file of pending reassignments.

GET /groups/:id/placeholder_reassignments

Supported attributes:

Attribute Type Required Description
id integer or string yes ID of the group or URL-encoded path of the group.

Example request:

curl \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/2/placeholder_reassignments"

Example response:

Source host,Import type,Source user identifier,Source user name,Source username,GitLab username,GitLab public email
http://gitlab.example,gitlab_migration,11,Bob,bob,"",""
http://gitlab.example,gitlab_migration,9,Alice,alice,"",""

Reassign placeholders

Complete the CSV file and upload it to reassign placeholder users.

POST /groups/:id/placeholder_reassignments

Supported attributes:

Attribute Type Required Description
id integer or string yes ID of the group or URL-encoded path of the group.

Example request:

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --form "file=@placeholder_reassignments_for_group_2_1741253695.csv" \
  "http://gdk.test:3000/api/v4/groups/2/placeholder_reassignments"

Example response:

{"message":"The file is being processed and you will receive an email when completed."}