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
| - Custom repo roles |[Analysis script](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-custom-repository-roles-count.sh)|Any custom org roles will need to be migrated as well |
25
+
| - Org level webhooks |[Analysis script](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-webhooks.sh),<br>[gh-organization-webhooks](https://github.com/katiem0/gh-organization-webhooks)| Need to know what webhook secrets are, can't retrieve in UI/API|
26
26
| - IP allow list |[Get org IP allow list](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organization-ip-allow-list.sh),<br>[Get enterprise IP allow list](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-enterprise-ip-allow-list.sh),<br>[Set IP allow list rules for](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/set-ip-allow-list-rules.sh)| The get scripts save rules to CSV and the set script sets them in target |
27
27
|**Discussions**|[Analysis script](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-discussions-count.sh)| Discussions exist in repos, but may have to configure which repo will be used for org discussions |
|**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)||
33
-
|**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)|There are different ways to migrate teams/membership |
32
+
|**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 |
33
+
|**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),[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 |
36
-
|**Actions**| N/a | Action runs don't migrate, workflows will migrate with code |
37
-
| - Repo/org secrets |[gh-secrets-migrator](https://github.com/dylan-smith/gh-secrets-migrator),[gh-seva](https://github.com/katiem0/gh-seva?tab=readme-ov-file)| Actions secrets values can only be retrieved during Actions runtime |
|**Actions**| N/a | Action runs don't migrate, workflows will migrate with code, and everything below will need to be recreated|
37
+
| - 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 |
38
+
| - Environments |[gh-environments](https://github.com/katiem0/gh-environments)| Environments need to be recreated|
39
+
| - Variables |[gh-seva](https://github.com/katiem0/gh-seva?tab=readme-ov-file)|Variables need to be recreated |
40
40
| - Self-hosted runners | N/a | Runners need to be re-created |
41
41
| - Larger runners | N/a | Larger GitHub-hosted runners need to be re-created |
|**LFS**|[Migrate LFS artifacts](/posts/migrate-git-lfs-artifacts/)|LFS is not migrated |
46
46
|**Username mapping**|[SAML at enterprise](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-saml-identities-in-enterprise.sh),<br>[SAML 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 |
47
+
|**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)|
48
+
|**Deploy keys**|[gh-migrate-deploy-keys](https://github.com/mona-actions/gh-migrate-deploy-keys)| Deploy keys are not migrated |
47
49
48
50
## Migration Planning Tooling
49
51
50
52
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.
51
53
52
54
| Tool | Description |
53
55
| --- | --- |
54
-
|**[gh-repo-stats](https://github.com/mona-actions/gh-repo-stats)**|GH CLI extension to pull statistics on repository metadata used in GitHub migrations |
56
+
|**[gh-repo-stats](https://github.com/mona-actions/gh-repo-stats)**|GitHub CLI extension to pull statistics on repository metadata used in GitHub migrations |
55
57
|**[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 |
56
58
|**[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 |
57
-
|**[git-sizer](https://github.com/github/git-sizer)**| Compute various size metrics for a Git repository, flagging those that might cause problems |
59
+
|**[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 |
60
+
|**[gh-bbs-analyzer](https://github.com/mona-actions/gh-bbs-analyzer)**| GitHub CLI extension for analyzing BitBucket Server to get migration statistics |
61
+
|**[gh-gitlab-stats](https://github.com/mona-actions/gh-gitlab-stats)**| GitHub CLI extension to pull statistics on GitLab repository and server metadata |
62
+
|**[gh-pma](https://github.com/mona-actions/gh-pma)**| Post-Migration Audit (PMA) Extension For GitHub CLI |
58
63
|**[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 |
59
64
60
65
## Non-technical Migration Planning Tips
@@ -89,6 +94,7 @@ Special thanks to everyone who has contributed to these OSS tools!
0 commit comments