GitHub Importer - Migrate MR events
Manage:Import
## Problem to solve
When migrating projects from GitHub to GitLab, the pull requests are imported as merge requests, including any comments. However, any history/events are not migrated over. This means that, after the migration, the users would not be able to see who added/removed labels, milestones, assignees, etc.
For some users this is a dealbreaker that would prevent them from migrating to GitLab.
## Proposed solution
During project import from GitHub, for each imported merge request, check if any of the identified events exist and import them into GitLab.
## Events list
| GitHub | ➡️ | GitLab |
| ------ | - | ------ |
|  | ➡️ |  |
|  | ➡️ |  |
|  | ➡️ |  |
|  | ➡️ |  |
|  | ➡️ |  |
|  | ➡️ |  |
|  | ➡️ |  |
|  | ➡️ |  |
|  | ➡️ |  |
## Iterations
This feature will be delivered in iterations, as each event can be delivered as a separate change. That said, the following iteration plan groups related events to avoid user confusion.
1. :footprints: https://gitlab.com/gitlab-org/gitlab/-/issues/354937+
1. :footprints: https://gitlab.com/gitlab-org/gitlab/-/issues/354938+
1. :footprints: https://gitlab.com/gitlab-org/gitlab/-/issues/354940+
1. :footprints: https://gitlab.com/gitlab-org/gitlab/-/issues/354941+
1. :footprints: https://gitlab.com/gitlab-org/gitlab/-/issues/354945+
## Technical details
Per [GitHub API documentation](https://docs.github.com/en/developers/webhooks-and-events/events/github-event-types#pullrequestevent):
The GitHub `event` objects of `type`:`PullRequestEvent` will have the `payload`.`action` fields set to one of these values:
* `opened`
* **`edited`**
* **`closed`**
* **`reopened`**
* **`assigned`**
* **`unassigned`**
* **`review_requested`**
* **`review_request_removed`**
* **`labeled`**
* **`unlabeled`**
* `synchronize`
(**bolded** events will be imported)
## Documentation
Following documentation should be updated with the changes implemented in this issue:
* [ ] :book: User doc: https://docs.gitlab.com/ee/user/project/import/github.html
* [ ] :book: Developer doc: https://docs.gitlab.com/ee/development/github_importer.html
epic