Skip to content

Releases: github/gh-gei

v0.41

25 Apr 11:15
a3d16fa
Compare
Choose a tag to compare
  • migrate-repo commands now take a --target-repo-visibility flag ("public", "private", or "internal"; defaults to "private") to set the visibility of the imported repo
  • gh gei generate-script will now inspect the source repo visibility and add the appropriate --target-repo-visibility flag to the generated script. ado2gh generate-script and bbs2gh generate-script will include the --target-repo-visibility flag in the generated script but it will always be set to private.

v0.40

11 Apr 19:38
b2d2709
Compare
Choose a tag to compare
  • Fixed a bug when migrating from GHES where we would do a bunch of unnecessary retries at the start making things slower than they needed to be

v0.39

10 Apr 21:16
292869c
Compare
Choose a tag to compare
  • Fixed a bug where ADO Team Projects or Organizations with special characters would fail to migrate
  • When using gh gei generate-script the script will now validate that the necessary environment variables are set
  • More robust retry logic, especially on http request timeouts
  • Retry GHES archive generation process in gh gei migrate-repo in case of any failure
  • Changed the default behavior of migrate-repo and migrate-org to wait for the migration to finish (previously the default was to only queue it unless you passed --wait). If you want the previous default behavior of queuing it only (e.g. for parallel scripts that queue many migrations at once) there is a new --queue-only option. The --wait option still works but is now obsolete and will print a warning if used, and will be removed in a future version. generate-script commands have all been updated to generate scripts with the new options/defaults. Any already existing migration scripts that relied on the default (i.e. parallel) behavior, will continue to work but will now run sequentially instead of in parallel. They should be updated to pass in --queue-only to retain the previous parallel behavior (or re-generated with the updated generate-script command).

v0.38

04 Apr 17:49
5d2a582
Compare
Choose a tag to compare
  • Introduce a new command gh gei migrate-code-scanning-alerts which migrates all code-scanning analysis and alert states for the default branch. This is useful if you want to migrate the history of code-scanning alerts together with their current state (open, reopened, fixed). For dismissed alerts, the dismissed-reason (e.g. won't fix, false positive etc) and dismissed-comment will also be migrated to the target repo.
  • Update gh bbs2gh generate-script so it supports more than 25 projects/repos
  • Rename --bbs-project-key to --bbs-project in gh bbs2gh generate-script for consistency
  • Fix a bug where create-team might not work due to a race condition
  • When using gh ado2gh generate-script or gh bbs2gh generate-script the script will now validate that the necessary environment variables are set
  • Make API calls to GitHub.com that require pagination more resilient by retrying on HTTP failures

v0.37

27 Mar 12:04
5ead78b
Compare
Choose a tag to compare
  • Improve error message when migrate-repo is used with a target personal access token (PAT) with insufficient permissions
  • Ensure --no-ssl-verify flag is honored when downloading archives from GHES
  • --bbs-project and --bbs-repo are now both required in gh bbs2gh migrate-repo command when --bbs-server-url is set
  • Added --keep-archive flag to gh gei migrate-repo and gh gei generate-script. When migrating from GHES this will skip the step where we delete the archive from your machine, leaving it around as a local file.
  • Continue to next mannequin mapping in gh gei reclaim-mannequin --csv if a username doesn't exist
  • Display more helpful message when the Bitbucket export archive is not found when using gh bbs2gh migrate-repo

v0.36

20 Mar 21:29
90444c3
Compare
Choose a tag to compare
  • Adds retry logic during GHES archive generation in cases of transient failure
  • Added log output linking to migration log URL after migration completes
  • Add support for specifying --archive-download-host with gh bbs2gh migrate-repo and gh bbs2gh generate-script, rather than taking the host from the --bbs-server-url
  • Improve handling of GraphQL errors, throwing an exception with the specific error message returned by the API
  • Validate AWS region when using Amazon S3 to upload the migration archive in gh gei and gh bbs2gh

v0.35

13 Mar 20:51
d1ea833
Compare
Choose a tag to compare
  • Fix gh bbs2gh grant-migrator-role so it doesn't throw System.InvalidOperationException
  • Rename AWS_ACCESS_KEY and AWS_SECRET_KEY environment variables to AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY respectively to align with the environment variables that the AWS CLI already uses. Old environment variables are still supported but they will be removed in future.
  • Send a User-Agent header with the current CLI version when downloading migration archives from GitHub Enterprise Server
  • Add support for migration archives larger than 2GB when using the blob storage flow
  • Add --no-ssl-verify option to gh bbs2gh generate-script and gh bbs2gh migrate-repo commands to support migrating from a Bitbucket Server or Bitbucket Data Center instance that uses a self-signed SSL certificate

v0.34

03 Mar 20:35
9ed3715
Compare
Choose a tag to compare
  • Create shared access signature (SAS) with read-only permissions - not read-write - when generating Azure Blob Storage URL
  • Fixes bug where CLI would crash if the source was GHAE (while trying to parse the version)
  • Add support for authenticating with AWS session tokens when using AWS S3 for archive upload in gh gei and gh bbs2gh. When specifying a session token, the AWS region must also be specified.
  • Make parallel migrations scripts generated by gh gei generate-script and gh ado2gh generate-script more resilient by not halting the entire script if queuing a repo migration fails.

v0.33

17 Feb 05:22
c5746cf
Compare
Choose a tag to compare
  • Added support for x86 Windows machines with new windows-386 build
  • Added logic to check if a target repo exists before generating GHES archives
  • Fixed reclaiming a single mannequin using reclaim-mannequin with the --mannequin-user and --target-user parameters
  • Added logic to ensure target org exists before generating GHES archives

v0.32

25 Jan 23:12
56df64e
Compare
Choose a tag to compare
  • Improve error messages when the specified target organization or enterprise cannot be found
  • Mask the value for AWS_ACCESS_KEY and AWS_SECRET_KEY parameters in log output
  • Fix log output so we don't say we've finished upload to Azure Blob Storage when you're actually using Amazon S3
  • Extend the expiration of blob storage signed URLs from 24hrs to 48hrs so migration can still be successful even if there is a long queue of migrations
  • Skip the upload to Azure/AWS blob storage when migrating from GHES 3.8+, as GHES will now handle putting the archives into blob storage. This change only applies to GHES 3.8 onwards, which is not yet released to the public.
  • Fixed a bug where bad credentials were incorrectly being treated as rate-limit errors