GitHub PR Integration
Overview
Integrate Screener into your GitHub PR workflow, and do both code review + visual review from one place.
Screener integrates with GitHub by automatically setting the commit status of GitHub Pull Requests with your Screener test results. The commit status includes a link to Screener to directly review changes.
Benefits
- Easy workflow for developers to review visual changes directly from GitHub, same place as they review code
- Team members can see if there are visual changes, and if they've been accepted, from within GitHub
- Reduces the need to re-run a CI Build after accepting changes in order to see a green success status in your PR.
Workflow
When visual changes are found by Screener, the PR will be marked as a failure in GitHub. Clicking on the "Details" link in GitHub will open the visual test results in Screener to review.
When visual changes are accepted in Screener, the GitHub PR will automatically update to a green success status:
Getting Started
To integrate Screener into your GitHub workflow, you need to:
- Grant Screener access to your GitHub repositories.
- Integrate Screener into your CI process.
1. Grant Screener access to your GitHub repositories
In your Screener Dashboard, open the "Integrations" menu and click "GitHub".
Then click "Grant GitHub Access", and you will be taken to the GitHub website to authorize:
When access has been granted, you will be redirected back to your Screener Dashboard.
This step only needs to be done once, as all projects you own will now use this GitHub account.
2. Integrate Screener into your CI process.
Follow steps in our Continuous Integration docs to integrate Screener.
Then you're done! Screener's CI Integration automatically supports GitHub status updates with the following CI tools:
- Jenkins
- CircleCI
- Travis CI
- Codeship
- Drone
- Semaphore
Other CI Tools
If you are using a CI tool not listed above, below is an example of how to integrate by passing the necessary GitHub details into Screener's CI script. Or contact us, and we'll help get you setup.
./screener-ci.sh $SCREENER_API_KEY $SCREENER_GROUP $BUILD_NUMBER --repo $GITHUB_REPO_SLUG --commit $GITHUB_COMMIT_SHA