Improved GitHub pull request integration

Opening a DeepSource analysis run from a pull request on GitHub used to take two clicks.

It now takes just one.

Background

When we first released our integration with GitHub pull requests, we used their Checks API to map a DeepSource analysis run with a GitHub check. Although this provided several benefits, including the ability to trigger re-runs and the ability to add a summary for each analysis run in the GitHub UI, the downside was that it took two clicks for the user to get to the DeepSource run from GitHub — which is where all the action is: list of issues, descriptions, and Autofix.

Over the past few months, several users have brought this up. Earlier this month, we prioritized this to improve the user experience for our users who use the GitHub integration. After evaluating a couple of other ways of solving this, we realized that the best solution is to help our users get to DeepSource as quickly as possible.

What’s changed?

We’re deprecating using GitHub’s Checks API in favor of the Commit Statuses API which allows external services to mark commits with a status, which is then reflected in pull requests involving those commits. This will enable us to link the DeepSource analysis run directly in the “Details” link on a GitHub check, so users have to click just once. :sparkles:

Apart, nothing changes for you — except you’re saving one click every time you make a pull request on GitHub and open DeepSource.

Action required

The DeepSource GitHub app now requires an additional scope to make the Commit Status API work — Read and write access to Commit statuses. Like checks, this scope allows us to create and update status checks on a GitHub pull request.

If you’re an admin of a GitHub organization that has DeepSource installed, you will get an email from GitHub titled “deepsource.io is requesting updated permissions.” Click on “Review permission request to accept or reject this change” and then “Accept new permissions” on GitHub.

Alternatively, open “Installed GitHub Apps” in your GitHub settings:

  • For organizations: https://github.com/organizations/<GITHUB-LOGIN>/settings/installations
  • For personal accounts: https://github.com/settings/installations

And then, click on Review request for the deepsource.io app.

This will grant DeepSource access to this new scope, and DeepSource will start using the Commit Statuses API for all subsequent analysis runs on your repositories. We’ll still use the Checks API until you do so; so that nothing will get disrupted for you and your team.


If you have any questions or need help with any of this, we’re here for you! Just ask a question on our Discord or contact support.

1 Like