You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**GitHub apps**|[Analysis script for org apps](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-apps.sh),<br>[Analysis script by org app count](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-apps-count.sh)| The [manifest flow](https://docs.github.com/en/apps/sharing-github-apps/registering-a-github-app-from-a-manifest) help when recreating apps manually |
38
+
|**GitHub apps**|[Analysis script for org apps](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-apps.sh),<br>[Analysis script by org app count](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-apps-count.sh)| The [manifest flow](https://docs.github.com/en/apps/sharing-github-apps/registering-a-github-app-from-a-manifest) help when recreating apps manually<br>Check out my [post on Enterprise Apps](/posts/github-enterprise-apps/) to programmatically install apps in orgs|
39
39
|**Teams / membership**|[gh-migrate-teams](https://github.com/mona-actions/gh-migrate-teams),<br>[gh-migrate-team-permission](https://github.com/mona-actions/gh-migrate-team-permission),<br>[Recreate security in repos & teams](https://github.com/joshjohanning/github-misc-scripts/tree/main/scripts/recreate-security-in-repositories-and-teams),<br>[Create teams from list](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/create-teams-from-list.sh),<br>[gh-collaborators](https://github.com/katiem0/gh-collaborators)| Use the [recreation script](https://github.com/joshjohanning/github-misc-scripts/tree/main/scripts/recreate-security-in-repositories-and-teams) if wanting to mirror teams/membership |
|**Webhook secrets**|[Script to analyze webhooks](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-repositories-webhooks-csv.sh),<br>[gh-migrate-webhook-secrets CLI](https://github.com/mona-actions/gh-migrate-webhook-secrets)| Repo-level webhooks migrate, but webhook secrets need to be recreated |
41
+
|**Webhook secrets**|[Script to analyze webhooks](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-repositories-webhooks-csv.sh),<br>[gh-migrate-webhook-secrets](https://github.com/mona-actions/gh-migrate-webhook-secrets)| Repo-level webhooks migrate, but webhook secrets need to be recreated |
42
42
|**Actions**|| Action runs don't migrate, workflows will migrate with code, and everything below will need to be recreated |
43
43
| - Repo/org secrets |[gh-secrets-migrator](https://github.com/dylan-smith/gh-secrets-migrator),<br>[gh-seva](https://github.com/katiem0/gh-seva?tab=readme-ov-file)| Actions secrets values can only be retrieved during Actions runtime |
44
44
| - Environments |[gh-environments](https://github.com/katiem0/gh-environments)| Environments need to be recreated |
45
45
| - Variables |[gh-seva](https://github.com/katiem0/gh-seva?tab=readme-ov-file)| Variables need to be recreated |
46
46
| - Self-hosted runners |[Analysis script for all org runners](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organization-self-hosted-runners-organization-runners.sh),<br>[Analysis script for all repo runners in org](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organization-self-hosted-runners-repository-runners.sh),<br> [Analysis script for repo+org runners in org](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organization-self-hosted-runners-all-runners.sh),<br>[Analysis script for enterprise runners](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-enterprise-self-hosted-runners.sh)| Runners need to be re-created |
47
47
| - Larger runners | N/a | Larger GitHub-hosted runners need to be re-created; no API for large runners |
48
-
|**Rulesets**|[gh-migrate-rulesets](https://github.com/katiem0/gh-migrate-rulesets)| Rulesets are not migrated |
49
-
|**Packages**|[See package migration posts](/categories/packages/)| Packages are not migrated |
48
+
|**Rulesets**|[gh-migrate-rulesets](https://github.com/katiem0/gh-migrate-rulesets)| Rulesets are not migrated - command line tools can download and re-push packages though |
49
+
|**Packages**| See my [posts](/categories/packages/)[npm](/posts/github-packages-migrate-npm-packages/), [NuGet](/posts/github-packages-migrate-nuget-packages/), [Maven](/posts/github-packages-migrate-maven-packages/), and [Docker](/posts/github-packages-migrate-docker-containers/)<br>[gh-migrate-packages](https://github.com/mona-actions/gh-migrate-packages)| Packages are not migrated |
|**LFS**|[Migrate LFS artifacts](/posts/migrate-git-lfs-artifacts/)| LFS is not migrated |
52
52
|**Username mapping**|[Getting SAML entities at enterprise](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-saml-identities-in-enterprise.sh),<br>[Getting SAML entities at org](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-saml-identities-in-organization.sh)| Getting SAML identities can help map personal github.com accounts by tying their email to their identity provider credential |
53
53
|**Repository visibility**|[gh-repo-visibility](https://github.com/mona-actions/gh-repo-visibility)| Repos migrate as private by [default](https://docs.github.com/en/migrations/using-github-enterprise-importer/migrating-between-github-products/overview-of-a-migration-between-github-products#setting-repository-visibility)|
54
54
|**Deploy keys**|[gh-migrate-deploy-keys](https://github.com/mona-actions/gh-migrate-deploy-keys)| Deploy keys are not migrated |
55
55
|**Submodules**| N/a | URLs (org/repo name) may need to be updated |
56
+
|**Stars**| N/a | Repo stars cannot be migrated |
56
57
57
58
## Migration Planning Tooling
58
59
59
60
These tools are more for helping you plan / track a migration. For example, you can use some of these tools to potentially identify problem repositories before you start the migration (e.g. with `git-sizer`, repositories that contain large files committed), or otherwise repositories with a lot of pull requests that will take longer to migrate.
60
61
61
62
| Tool | Description |
62
63
| --- | --- |
63
-
|**[gh-repo-stats](https://github.com/mona-actions/gh-repo-stats)**| GitHub CLI extension to pull statistics on repository metadata used in GitHub migrations |
64
+
|**[gh-repo-stats](https://github.com/mona-actions/gh-repo-stats)** & **[gh-repo-stats-plus](https://github.com/mona-actions/gh-repo-stats-plus)**| GitHub CLI extension to pull statistics on repository metadata used in GitHub migrations |
65
+
|**[git-sizer](https://github.com/github/git-sizer)** & **[gh-sizer](https://github.com/timrogers/gh-sizer)**| Compute various size metrics for a Git repository, flagging those that might cause problems |
64
66
|**[gh-migration-audit](https://github.com/timrogers/gh-migration-audit)**| Audits GitHub repositories to highlight data that cannot be automatically migrated using GitHub's migration tools |
65
67
|**[gh ado2gh inventory-report](https://docs.github.com/en/enterprise-cloud@latest/migrations/overview/planning-your-migration-to-github#building-a-basic-inventory-of-the-repositories-you-want-to-migrate)**| Azure DevOps to GitHub inventory report using the GEI commands |
66
-
|**[git-sizer](https://github.com/github/git-sizer)** & **[gh-sizer](https://github.com/timrogers/gh-sizer)**| Compute various size metrics for a Git repository, flagging those that might cause problems |
67
-
|**[gh-bbs-analyzer](https://github.com/mona-actions/gh-bbs-analyzer)**| GitHub CLI extension for analyzing BitBucket Server to get migration statistics |
68
68
|**[gh-gitlab-stats](https://github.com/mona-actions/gh-gitlab-stats)**| GitHub CLI extension to pull statistics on GitLab repository and server metadata |
69
+
|**[gh-bbs-analyzer](https://github.com/mona-actions/gh-bbs-analyzer)**| GitHub CLI extension for analyzing BitBucket Server to get migration statistics |
70
+
|**[gh-bbc-exporter](https://github.com/katiem0/gh-bbc-exporter)**| GitHub CLI extension to create a Bitbucket Cloud archive for import to GitHub Cloud |
69
71
|**[gh-pma](https://github.com/mona-actions/gh-pma)**| Post-Migration Audit (PMA) Extension For GitHub CLI |
70
-
|**[github-migration-monitor](https://github.com/timrogers/github-migration-monitor)**| Monitors GitHub Enterprise Importer (GEI) migrations for an organization through a simple command line tool|
72
+
|**[github-migration-monitor](https://github.com/timrogers/github-migration-monitor)**& **[gh-migration-monitor](https://github.com/mona-actions/gh-migration-monitor)**| Monitor GitHub Enterprise Importer (GEI) migrations with command line tools and real-time terminal UI dashboards|
0 commit comments