The Opslane GitHub App is the only connection you need to start getting real-browser test results on your pull requests. Once installed, Opslane listens for PR activity in the repos you choose, spins up a browser run automatically, and posts results back as a PR comment — no other configuration required.Documentation Index
Fetch the complete documentation index at: https://docs.opslane.com/llms.txt
Use this file to discover all available pages before exploring further.
Install the GitHub App
Start the installation
Go to app.opslane.com/auth/github/login and click Install GitHub App. GitHub will prompt you to sign in if you aren’t already authenticated.
Choose an account
Select the GitHub account or organization where you want to install Opslane. If you want to use Opslane across multiple organizations, you can install it separately on each one.
Select repositories
Choose which repositories Opslane can access. You have two options:
- All repositories — Opslane monitors every repo in the account, including new ones created in the future.
- Only select repositories — Pick specific repos by name. You can add more later from your GitHub App settings.
Repository access and permissions
Opslane requests only the permissions it needs to do its job. The table below explains what each permission is used for.| Permission | Access level | Why Opslane needs it |
|---|---|---|
| Pull requests | Read & write | Read PR metadata to trigger runs; post the results comment |
| Commit statuses | Read & write | Set a passing or failing GitHub status check on the PR |
| Repository contents | Read | Read the repo to identify the deployment URL for the run |
| Metadata | Read | Required by GitHub for all apps |
Opslane does not read your source code to run tests. It uses your running app’s URL — typically a preview deployment — as the test target. Source code access is limited to reading deployment configuration where necessary.
How PR events trigger runs
Opslane subscribes to GitHub’spull_request webhook and starts a browser run whenever any of these events occur:
opened— a new pull request is createdsynchronize— a new commit is pushed to an open pull requestreopened— a previously closed pull request is reopened
- Reads the PR’s head commit and associated deployment URL
- Spins up an ephemeral sandbox with a real browser
- Crawls the app at that URL and runs flow verification
- Posts a PR comment with pass/fail status, screenshots, and a video
- Sets a GitHub commit status check to
successorfailure
Each run is tied to the specific commit at the time the event fired. Pushing a new commit to the same PR starts a fresh run for that commit.
PR comment and status checks
After every run, Opslane posts a comment on the pull request from theopslane-bot account. The comment includes:
- A pass or fail summary for the run
- Screenshots captured during the browser session
- A video of the full run for debugging regressions
- A link to the full run details in the Opslane dashboard
opslane / browser-test. This status appears in the PR checks section and can be used with branch protection rules to block merges when regressions are detected.
Block merges with branch protection
To enforce that regressions cannot be merged, configure GitHub branch protection to require the Opslane status check to pass.Open branch protection settings
In your GitHub repository, go to Settings → Branches. Under Branch protection rules, click Add rule or edit an existing rule for your default branch (typically
main or master).Enable required status checks
Check Require status checks to pass before merging, then check Require branches to be up to date before merging.
Add the Opslane check
In the search box that appears, type
opslane and select opslane / browser-test from the results.