Configurable list of things 'to be imported' that can be adjusted by the user (API)
Problem to solve
Importing all supported relations during project import from GitHub may take a long time. Some users might not want to import all of them to speed up the import process.
Proposed solution
Relations that take a considerable amount of time to be imported could be chosen by the user to be included in the import, but by default they would be excluded.
Create a pop-up/modal form that will be triggered by clicking on the Import
button.
Technical details (to be updated)
Currently, there are three feature flags that should be converted as checkboxes on UI and as params in API.
We need to decide where this options will be set & stored during the import and just check it in places where we currently verifying feature flag state.
From the interfaces side:
We have POST /import/github
which consumes next params:
- repo_id (number)
- new_name (string)
- target_namespace (string)
Proposal is to add one more param
- optional_steps (object)
{ "single_endpoint_notes_import": true, ... }
Frontend side will receive list of optional_steps
via HAML data attribute from some diff in format:
{
"name": "single_endpoint_notes_import",
"label": "Thorough notes import",
"details": "Optional extra explanation"
},
...