Releases: github/gh-ado2gh
Releases · github/gh-ado2gh
v0.42
- Include the migration ID in the default output filename when running
download-logs
- Include the date with the timestamp when writing to the log
- When blob storage credentials are provided to the CLI but will not be used for a GHES migration, log a clear warning, not an info message
- Fix support for Azure Blob Storage in
bbs2gh
migrations when the archive is larger than 2GB - Unhide the
--archive-download-host
argument in the documentation forgh bbs2gh migrate-repo
andgh bbs2gh generate-script
v0.41
migrate-repo
commands now take a--target-repo-visibility
flag ("public"
,"private"
, or"internal"
; defaults to"private"
) to set the visibility of the imported repogh 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
andbbs2gh generate-script
will include the--target-repo-visibility
flag in the generated script but it will always be set to private.
v0.40
- 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
- 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
andmigrate-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 updatedgenerate-script
command).
v0.38
- 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
ingh 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
orgh 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
- 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 ingh bbs2gh migrate-repo
command when--bbs-server-url
is set- Added
--keep-archive
flag togh gei migrate-repo
andgh 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
- 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
withgh bbs2gh migrate-repo
andgh 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
andgh bbs2gh
v0.35
- Fix
gh bbs2gh grant-migrator-role
so it doesn't throwSystem.InvalidOperationException
- Rename
AWS_ACCESS_KEY
andAWS_SECRET_KEY
environment variables toAWS_ACCESS_KEY_ID
andAWS_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-ssh-verify
option togh bbs2gh generate-script
andgh 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
- 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
andgh bbs2gh
. When specifying a session token, the AWS region must also be specified. - Make parallel migrations scripts generated by
gh gei generate-script
andgh ado2gh generate-script
more resilient by not halting the entire script if queuing a repo migration fails.
v0.33
- 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