Deprecating GitHub commit status API updates for GitHub Apps-managed repositories

By Travis CI

Sep 27, 2018

Sep 27, 2018

As part of our gradual migration to GitHub Apps for our GitHub integration, we’re formally deprecating GitHub Commit Status API updates for repositories on travis-ci.com managed by GitHub Apps. Instead, these repositories will have status updates reported to the GitHub Check Runs APIWe will no longer deliver GitHub Commit Status API updates for repositories managed by GitHub Apps starting October 4th, 2018.

Your workflow will most likely be impacted only if it relies on either GitHub Protected Branches or custom automations dependent on the GitHub Commit Status API.

If your workflow doesn’t fall into either case, the change will have minimal impact – except the deprecated (duplicate) GitHub Status API updates will disappear from your pull requests. If you do use protected branches or the GitHub Commit Status API, we have some recommendations for updating.

Protected Branches

Protected Branches are a feature in GitHub which let you block merging pull requests into specific branches unless status checks have passed.

If you’re a repository owner, you can update your repositories using protected branches to use status checks per the following:

  1. Go to the repository’s Settings page, and select Branches
  2. In the Branch Protection Settings section, click Edit for a protected branch
  3. Scroll down to the second box – Require status checks to pass before merging. Select either Travis CI - Pull Request or Travis CI - Branch or both. (Note: continuous-integration/travis-ci is the Status API event which will be deprecated)
  4. Save your changes! Rinse and repeat for each protected branch.

Using the GitHub Commit Status API

Since we will no longer be using the GitHub Commit Status API, automations you’ve built or are using – including third party integrations – that rely on this GitHub endpoint may no longer work properly without the status API updates.

If you’re managing your integration with GitHub, we recommend switching to using the GitHub Check Runs API. For example, instead of retrieving a Commit Status via a GET to /repos/:owner/:repo/commits/:ref/statuses , we suggest you use the following endpoint:

GET /repos/:owner/:repo/commits/:ref/check-runs

Read the GitHub Check Runs API docs for more information about the payload you can expect.

Questions? Feedback?

We hope these recommendations are helpful! If you have a strict requirement on the GitHub Commit Status API that we didn’t cover here, please email [email protected] soon so we can help support through the deprecation process.

Of course, if you have any other questions about these changes or there’s anything we can do to help, let us know on the forum, travis-ci.community or send us an email as well. Thanks a bunch!