[go: up one dir, main page]

Skip to content

Allow users of the Direct Transfer API to skip certain relations

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Proposal

A Direct Transfer pipeline goes through each stage defined in lib/bulk_imports/projects/stage.rb. In most cases this is fine. Either the user has little or no data in a given stage, or lots of data they want to keep.

This proposal aims to assist when a user wants to migrate from one GitLab instance to another and can't or doesn't want to migrate certain things.

We could extend the functionality provided by the Direct Transfer API to allow for a list of excluded relations:

curl --request POST --header "PRIVATE-TOKEN: $GTLB_TOKEN" "https://gtlb.example.com/api/v4/bulk_imports" \
  --data '{
    "configuration": { /* abridged */ },
    "entities": [
      {
        /* abridged */
        "excluded_relations": "ci_pipelines,releases"
      }
    ]
  }'

Some stages1 aren't included in the source bundle, but are requested from the source instance at import time. This means it's easier to specify the list of unwanted relations when importing, rather than when exporting.

  1. members, badges, snippets_repo, wiki, uploads, LFS objects, design

Edited by 🤖 GitLab Bot 🤖