The App Center Migration Tool is a command-line interface (CLI) designed to help App Center organizations seamlessly migrate their apps and releases to Updraft . This tool streamlines the migration process, ensuring a smooth and efficient transition from Microsoft App Center to the Updraft app distribution platform.
Before using the migration tool, please ensure the following:
✅ You are registered with Updraft
✅ You’ve created your projects and apps in Updraft
🔹 Updraft Project Hierarchy: Updraft organizes apps using a project-based hierarchy:
- Each project can include multiple apps
- Apps can belong to different operating systems (iOS, Android, Windows)
- Apps can be grouped by deployment environments (e.g., staging, QA, production)
This structure helps you manage complex delivery pipelines and keep platform- and environment-specific builds cleanly organized within a single project.
✅ You have your Microsoft App Center API key
✅ You have your Updraft API key
✅ You have your App Keys from Updraft
In Microsoft App Center, a release refers to a distributed app version.
In Updraft, this is called a build, and distribution is handled through creating a release. So builds can be uploaded first, but there is no need to distribute it already at the same time.
- A build version is uploaded or migrated to your app in Updraft.
- You create a release by selecting:
- The app
- The deployment environment
- The build version
- Target distribution groups or specific tester email addresses
- After configuration, you send the release.
- Testers receive an email notification with an installation link to access the release.
- Public link: anyone with the link can install
- Managed release: only specified testers or groups receive the release
- Managed permission groups: you can create permission groups, assign permission groups to projects and set the user-role each group
This allows for structured, controlled, and trackable app distribution—perfect for beta testing, QA, or internal deployments.
Node version v23.0.0 or higher is required.
- Clone repository
- Navigate to project folder where you want to use the tool
- Run
npm install <path-to-repo>
- Run
npm run build
Run it like this:
npx appcenter-migration-tool <command> <options>
- Clone repository
- Navigate to project folder
- Run
npm install -g .
- Run
npm run build
Run it like this:
appcenter-migration-tool <command> <options>
One file should be executable on Unix-like systems
chmod +x ./bin/appcenter-migration-tool
./bin/appcenter-migration-tool --help
./bin/appcenter-migration-tool login appcenter --appcenterToken <token>
This command is used for getting and storing updraft authorization token that will be used for other updraft API calls.
./bin/appcenter-migration-tool login updraft --username <username> --password <password>
Listing all apps from App Center:
./bin/appcenter-migration-tool apps list-all-apps
List the available apps in the specified App Center organization
NOTE: app center user API token with Full Access required
./bin/appcenter-migration-tool apps list-org-apps --organizationName <organization-name>
Migrate the specified app from App Center to existing app in Updraft. This will migrate all app releases from App Center to Updraft. Each app release in App Center will correspond to app build in Updraft app. Command parameters:
profileName
- App Center app name for migration to an Updraft
- IMPORTANT - app name, not app display name - you can find app name by using previous two commands for listing apps
owner
- App Center application owner nameupdraftAppKey
- Your Updraft app key/token. You find it in 'Edit App'.updraftApiKey
- Your Updraft api key/token. You find it in 'Profile > Tokens'.ignoreDisabled
- Optional parameter. If set to true, the tool will ignore disabled releases in App Center. Default value is false.
./bin/appcenter-migration-tool apps migrate-profile --profileName="<app-name>" --owner="<owner-name>" --updraftAppKey="<app-key>" --updraftApiKey="<api-key>"
./bin/appcenter-migration-tool organizations list-appcenter-orgs
List distribution groups in specified App Center organization
NOTE: app center user API token with Full Access required
appcenter-migration-tool distribution-groups list-org-distgroups --organizationName <organization-name>
List distribution groups in specified App Center app
./bin/appcenter-migration-tool distribution-groups list-app-distgroups --appName <app-name> --organizationName <organization-name>
You can run interactive mode like this:
./bin/appcenter-migration-tool -i
Or if you installed package locally:
npx appcenter-migration-tool -i
Or if you installed package globally:
appcenter-migration-tool -i
Configuration values like api hostnames are cached. In case you change those values, you'll want to clear the cache. You can do that by running:
chmod +x ./bin/clear-cache
./bin/clear-cache