GitHub Integration

Screenshot integrates seamlessly into your Pull Request flow with GitHub. This document explains how you can set it up in few easy steps.

Install the App

Screenshotbot uses the GitHub Checks API to update Pull Requests. In order for Screenshotbot to have access to this API, you need to install the Screenshotbot app.

To install the app, go to Settings | GitHub , and click the Install App on GitHub

Clicking the link will redirect you to GitHub. Screenshotbot asks for basic permissions. In particular, we don’t require access to read your repositories.

Set up you CI

At this point, you may set up your CI to use the Screenshotbot CLI, to upload screenshots at the end of the run. For most of the common CI systems, the CLI can read environment variables to detect if the workflow corresponds to a job for a Pull Request, and appropriately updates the Pull Request.

For Jenkins, or for some systems that we don’t have built-in support, you may add the --pull-request argument when invoking the CLI. By default, the report for the PR will be generated against the master branch, but this can be configured with --master-branch argument.

Reviewing Changes

When a Pull Request has changed screenshots, Screenshot will add a “failed” check. Clicking the Details link will let you review the changes.

The Screenshotbot review tool would let you review and approve the changes.

Accepting Changes

Accepting the change will update the Pull Request check to be green. The Review will also be noted.

Rejecting Changes

Rejecting the the change will update the Pull Request to also include the person who rejected the change. You may Reject a change even after Accepting it.

Rebasing Pull Requests

This section is only relevant if your CI job includes a step of rebasing (or merging) your Pull Request onto your stable or master commit before running tests. In this case, you might have to pass the --override-commit-hash argument to specify the original commit hash of the Pull Request.

On CircleCI and Bitrise, we can automatically detect this from your environment variables, so you can ignore this step.

Ready to get started?

Sign up or contact us.