Beta - Migrating repositories to

On May 2nd, 2018 Travis CI announced that open source projects will be joining private projects on!

This document explains how to migrate your repositories, and answers some common questions about the migration.

Hi there! If you’d like to become a beta tester, please sign in at and in your account page, sign up to migrate your Open Source repositories.

What information will be transferred to #

When a repository is migrated, the following information will be transferred to

  • Environment variables (public and encrypted)
  • Repository SSH keys (default or custom)
  • Repository settings
  • Cron jobs configured for the repository
  • Last build status - the build badge in will reflect this status until new builds are triggered
  • Next build number
  • Previous build history

What information will not be transferred to #

The following information will not be transferred to when a repository is migrated:

  • Caches - they will be re-created automatically on the first build on

Do I need to make any other changes? #

You only need to make any changes yourself if you use any of the following features:

  • “Protected Branches” feature in GitHub to require a passing Travis CI build before merging a Pull Request: make sure to edit your required status checks to now use Travis CI - Pull Request and/or Travis CI - Branch. See: Required status checks at GitHub.

  • Travis CLI: after migration make sure to add the --com flag or make it your default endpoint by running: travis endpoint --com --set-default.

  • Travis CI API: edit your requests to use the new endpoint: instead of

What will happen to my repository? #

Your repository on will be automatically deactivated (that is, it will no longer receive GitHub events) and will remain available in read-only mode.

With this read-only mode:

  • The “Trigger build” functionality won’t be available in
  • It won’t be possible to restart a previous job that ran in
  • The Settings page for your repository will become inactive - the transferred repository settings will now be available in instead.

In the future, we will provide redirections from all API/web requests going from to

How long does the migration process take? #

The migration process for each repository should not take more than a couple of seconds.

Can I migrate multiple repositories at once? #

Yes, you can select as many repositories in the Migrate tab as you’d like to migrate and they’ll be queued to be migrated.

What happens if someone pushes a commit to my repository while it is being migrated? #

We’ll enqueue these build requests and the builds will be created in as soon as the migration finishes.

Migrating a repository #

GitHub Apps initial setup #

If you are already using GitHub Apps for your account in, you need to access your installation settings and grant access to the repositories you’d like to migrate. Otherwise:

  1. Log in to [] and access your profile (or your organization’s) at

  2. If you aren’t using the new GitHub Apps integration already, activate it for your account Activate GitHub Apps

  3. When activating the Travis CI GitHub App, grant access to the repositories (both public and private) that you want to build in Save the changes.

  4. Once back in your Travis CI profile, the selected repositories will be listed there. Those projects that were already building in will appear in the Migrate tab for your account.

The migration steps #

  1. Once you have granted access via GitHub Apps to the repositories you’d like to build and transfer, on the “Migrate” tab, there will be a list of the repositories available to migrate: Migration repository list

  2. Select the repositories you’d like to migrate and click “Migrate selected repositories”, You’ll be asked for a final confirmation - please remember that you’ll need to update protected branches (See: Do I need to make any other changes?).

  3. Confirm the migration. The icons next to your repository name will show the migration status (“processing”, or “migrated”): Migration statuses

  4. That’s it! Your open source repository is now ready to build at!

Migrating repositories via API #

If you’d like to automate your migration process, it’s also possible to migrate a repository by directly making a request to the /repo/:id/migrate or /repo/:slug/migrate endpoints of the Travis CI API:

  • Using the repository slug:
 curl -s -X POST \
   -H "Content-Type: application/json" \
   -H "Accept: application/json" \
   -H "Travis-API-Version: 3" \
   -H "Authorization: token {API_TOKEN}" \
   --data '' \{REPO_OWNER}%2F{REPO_NAME}/migrate
  • Using the repository ID:
 curl -s -X POST \
   -H "Content-Type: application/json" \
   -H "Accept: application/json" \
   -H "Travis-API-Version: 3" \
   -H "Authorization: token {API_TOKEN}" \
   --data '' \{REPO_ID}/migrate

Interacting with a migrated repository #

Travis CI will now start receiving the GitHub events for migrated open source repository in Any new builds and requests will start appearing in the site.

The project page of a migrated repository in will start showing that it has been migrated and then, the migrated repository will still appear in your repository list with a direct link to access the project in

Migrated repository in

Since the repository in is now in read-only mode, the settings page will also link to the corresponding settings page in

Locked settings page in

Support and feedback #

If you have any further questions or comments on our Beta migration process or need help, please let us know at We have a dedicated team working on this project that will be glad to assist you.