Extend GitLab imports to migrate project CI/CD settings
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=536537)
</details>
<!--IssueSummary end-->
## Overview
Currently, only the [following](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/import_export/project/import_export.yml#L159) project CICD settings are migrated as part of GitLab imports (file-based and direct-transfer):
```yaml
ci_cd_settings:
- :group_runners_enabled
- :runner_token_expiration_interval
- :default_git_depth
```
As GitLab features are expanded, so do the project CICD settings that should be part of the imports.
Aligning project level settings requires substantial effort, especially if there are thousands of them.
Some, more prominent ones, to highlight, are
### General pipelines
{width=629 height=381}
### Job token permissions
{width=627 height=185}
**NOTE:** Job token permissions should **not** include the (deprecated) https://docs.gitlab.com/ci/jobs/ci_job_token/#limit-your-projects-job-token-access-deprecated
### Other CICD settings
Add all the CI/CD settings features during import, listing out the important ones below
* [ ] Auto DevOps
* [ ] Protected environments
* [ ] Artifacts
* [ ] Automatic deployment rollbacks
* [ ] Deploy freezes
* [ ] Pipeline subscriptions
# Acceptance Criteria
Successful migration of features:
* [ ] General pipelines
* [ ] Auto DevOps
* [ ] Protected environments
* [ ] Artifacts
* [ ] Automatic deployment rollbacks
* [ ] Deploy freezes
* [ ] Job token permissions
* [ ] Pipeline subscriptions
issue