Allow importers to be easily stopped
Most of our importers lack a mechanism that enables the administrator to abort a migration in case of an incident.
For example, during the recent https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17054 incident, it was suggested that a JOB detected as a problem be terminated. However, this approach is not ideal because importers usually queue thousands of workers, making it impossible to kill all of them.
The best approach in such a situation is to abort the migration responsible for the problem. Unfortunately, not all importers currently provide a simple mechanism that allows the administrator to stop the migration.
Furthermore, I have detected another problem: not everyone is aware that importers can be disabled via the UI, which is a required short-term solution in case a bug is discovered in one of the importers.
### Current
| Importer | Current situation | Corrective action |
| ------ | ------ | ------ |
| FogBugz | :white_check_mark: Because the migration uses a single Job, killing the Job will interrupt the migration | |
| Gitea | :white_check_mark: Because the migration uses a single Job, killing the Job will interrupt the migration | |
| GitLab Export | :white_check_mark: Because the migration uses a single Job, killing the Job will interrupt the migration | |
| Giteat | :white_check_mark: Because the migration uses a single Job, killing the Job will interrupt the migration | |
| GitHub | :white_check_mark: It's possible to abort by changing the migration state to `failed` or `canceled` | |
| BitBucket Server | :red_circle: Not possible to interrupt a migration | Update all workers to check the project import state. This way the migration can be interrupted by just changing the state to `failed` |
| BitBucketCloud | :red_circle: Not possible to interrupt a migration | Update all workers to check the project import state. This way the migration can be interrupted by just changing the state to `failed` |
| Direct Transfer | :large_orange_diamond: Multiple commands need to be executed to interrupt a migration | Update all workers to check the BulkImport state before executing any task, this way the migration can be interrupted by just changing the state to `failed` |
### Proposed actions
- Implement a mechanism to stop the migration in all importers
- Document in the runbook how to do that. Also, include in the runbook that importers can be disabled via UI
epic