ELM migrates almost all repository-level data. Organization-level resources, such as teams, projects, and organizations settings and webhooks, are excluded from the migration and must be configured manually on the target.
The only organization-level action supported by ELM is the creation of a target organization account if this does not already exist.
Visibility, description, default branch, and enabled features
Repository webhooks
Webhook configurations for the repository
Repository topics
Tags for categorizing the repository
Repository PR settings
Pull request merge and review settings
Actions settings
Repository-level GitHub Actions configuration, including allowed actions and permissions
Autolinks
Custom autolink references
Branch protections
Branch protection rules are partially migrated, with the limitations described below
Pages
GitHub Pages configuration
Warning
Branch protection migration is partially supported. ELM preserves whether actor restrictions are enabled for dismissing pull request reviews and pushing to protected branches, but it does not preserve the permitted users, teams, or apps. A push restriction can therefore be recreated on the destination with an empty allowlist. It also does not migrate pull request bypass actors, force-push actors, status check app bindings, matching-branch creation restrictions, merge queue settings, deployment requirements, or branch locking. Review and update migrated branch protection rules before allowing users to work in the destination repository.
Every GitHub Enterprise Server user referenced in migrated data is represented as a mannequin: a placeholder identity with no organization membership or repository access. After your migration is complete, you can reclaim mannequins by associating them with real user accounts.
After the initial backfill completes, the exporter's event listener monitors webhooks on GitHub Enterprise Server to capture ongoing changes and forward them to the migration service on the target enterprise.
The following tables document which resource types support live updates and which webhook actions are handled.