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](https://gitlab.com/gitlab-org/gitlab/-/issues/365977#note_1064687080). 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. - [single_endpoint_issue_events_import](https://gitlab.com/gitlab-org/gitlab/-/issues/365977) - [single_endpoint_notes_import](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67150) - [attachments_import](https://gitlab.com/gitlab-org/gitlab/-/issues/371926) 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: ```json { "name": "single_endpoint_notes_import", "label": "Thorough notes import", "details": "Optional extra explanation" }, ... ```
issue