Overview
The GitHub integration provides:- Repository linking - Connect repos to track commits and branches
- Build tracking - Associate builds with specific commits and branches
- CI/CD automation - Trigger tests on pull requests, pushes, and merges
- Status reporting - Post test results directly to GitHub PRs

Setup Guide
Prerequisites
- A GitHub account with access to an organization or personal repos
- Admin or write access to repositories you want to test
- Owner/Admin permissions in the GitHub organization (for OAuth app installation)
Step 1: Connect Your GitHub Organization
- Navigate to Integrations in the Revyl sidebar
- The GitHub Organizations tab is selected by default
- Click Connect GitHub Organization
- You’ll be redirected to GitHub’s authorization page
- Select the organization (or use your personal account)
- Choose which repositories to grant access:
- All repositories (current and future)
- Only select repositories (pick specific repos)
- Click Install & Authorize
- You’ll be redirected back to Revyl with a success message

Step 2: Configure a Repository
After connecting your GitHub organization, configure CI/CD for specific repositories:- Click Add Repository in the Repository Configuration section
- The configuration popup appears with these options:

| Field | Description |
|---|---|
| Repository | Select a repo from your connected GitHub organization |
| Enable Integration | Toggle to enable/disable CI/CD for this repo |
| Build Paths | Map directory paths to Revyl builds (for monorepos) |
| Workflows | Select which Revyl workflows to run |
| Trigger Events | Choose when to trigger tests (see below) |
- On Pull Request Open - Run tests when a PR is created
- On Pull Request Update - Run tests when a PR is updated
- Manual Trigger - Enable
@revylbot commands in PR comments
For monorepos, add multiple build paths to map different app directories to their respective builds.
Step 3: Enable Manual Trigger (Optional)
Manual Trigger enables the@revyl GitHub bot in your repository. When enabled, you can mention @revyl in PR comments to trigger tests on demand.
To enable:
- Open the repository configuration
- Check the Manual Trigger checkbox under Trigger Events
- Click Create Configuration or Update Configuration
@revyl commands in any PR on that repository.
See @revyl bot commands →
What Can You Do With GitHub Integration?
1. Commit-Based Build Tracking
When you upload a build through Revyl, you can associate it with a commit:- Branch name - e.g.,
main,develop,feature/login - Commit SHA - e.g.,
abc1234 - Build metadata - Revyl tracks which builds came from which commits
- Trace bugs to specific commits
- Know exactly which code version is being tested
- See build history correlated with Git history
2. Pull Request Testing
Automatically test every pull request:- Developer opens a PR
- GitHub Actions workflow triggers
- Revyl runs the test suite on the PR’s build
- Results are posted as a commit status on the PR
- Team sees pass/fail status before merging
- ✅
Revyl Tests: All tests passed (12/12) - ❌
Revyl Tests: 2 tests failed (10/12) - ⏳
Revyl Tests: Running...
3. Branch-Specific Workflows
Run different tests on different branches:- Main branch: Full regression suite (all tests)
- Develop branch: Smoke tests (critical paths only)
- Feature branches: Relevant feature tests
4. CI/CD Pipeline Integration
Integrate Revyl into your existing CI/CD pipeline:PR Comment Commands
Trigger Revyl tests directly from GitHub PR comments using@revyl commands.
Available Commands
| Command | Description |
|---|---|
@revyl | Show help with available options |
@revyl config run | Run tests using saved CI/CD configuration |
@revyl config run ios:URL android:URL | Run with specific Expo build URLs |
@revyl run workflows | Run saved workflows (no build step) |
@revyl run workflows 1,2 | Run specific workflows by number |
Command Examples
Show help:Commands only work on repositories connected to Revyl with CI/CD configured.
PR Open Trigger Behavior
When On Pull Request Open is enabled, Revyl automatically analyzes your PR to determine if new builds are needed.How It Works
- PR is opened on a connected repository
- Revyl checks the diff - Compares changed files against configured build paths
- Decision is made:
- Uses existing builds already in Revyl
- Runs configured workflows automatically
- No user action needed
- Shows a help message in the PR
- Prompts you to provide new build URLs
- Waits for you to run
@revyl config run ios:URL android:URL
Example Flow
Managing GitHub Integration
Viewing Connected Organizations
To see which GitHub organizations are connected:- Go to Integrations → GitHub Organizations
- If connected, you’ll see organization details (name, avatar)
- You’ll see a list of repositories you’ve granted access to
Adding More Repositories
To grant Revyl access to additional repositories:- Go to Integrations → GitHub Organizations
- Click Manage Repositories (if available) or Configure on GitHub
- You’ll be taken to GitHub’s app settings
- Select additional repositories
- Click Save
- Return to Revyl - new repos will appear in the CI/CD Integration dropdown
Removing Repository Access
To revoke access to specific repositories:- Go to your GitHub organization’s Settings → Installed GitHub Apps
- Find Revyl in the list
- Click Configure
- Deselect repositories you want to remove
- Click Save
Disconnecting GitHub
To completely disconnect GitHub from Revyl: Option 1: From Revyl- Go to Integrations → GitHub Organizations
- Click Disconnect GitHub (if available)
- Confirm disconnection
- Go to your GitHub organization’s Settings → Installed GitHub Apps
- Find Revyl and click Configure
- Scroll down and click Uninstall
Permissions & Security
What Permissions Does Revyl Request?
Revyl asks for the following GitHub permissions:| Permission | Access Level | Why We Need It |
|---|---|---|
| Repository contents | Read | To fetch commit information and branch names |
| Commit statuses | Write | To post test results to PRs and commits |
| Metadata | Read | To list repositories and organizations |
| Webhooks | Read & Write | To receive notifications when code is pushed |
What Can Revyl NOT Do?
Revyl cannot:- Modify your code or files
- Push commits
- Merge pull requests
- Access private information beyond repositories
- Delete branches or repositories
Data Privacy
Revyl only accesses:- Commit SHAs and messages
- Branch names
- Pull request metadata (title, number, status)
- Source code contents
- Credentials or secrets
- Personal developer information
Troubleshooting
”No repositories found” in CI/CD Integration
Cause: GitHub organization isn’t connected, or no repositories were granted access. Solution:- Go to GitHub Organizations tab
- Verify connection status shows “Connected”
- If connected, click Configure to manage repository access on GitHub
- Grant access to at least one repository
GitHub Action Not Triggering Tests
Check these:-
API Key is correct
- Verify
REVYL_API_KEYsecret is set in GitHub repo settings - Generate a new API key in Revyl if needed (Settings → API Keys)
- Verify
-
Workflow ID is correct
- Double-check the workflow ID in your GitHub Action matches the one in Revyl
-
Workflow is triggered correctly
- Verify the GitHub Action is running (check Actions tab)
- Check logs for errors in the curl request
Commit Status Not Appearing on PR
Possible causes:-
Revyl doesn’t have permission
- Verify “Commit statuses” permission is granted (re-install app if needed)
-
Wrong repository linked
- Check that the correct repo is selected in CI/CD Integration tab
-
Test hasn’t completed yet
- Commit status only appears after test finishes
- Check Revyl test history to see if test ran
Re-authorizing GitHub
If you encounter authorization errors:- Go to Integrations → GitHub Organizations
- Click Disconnect GitHub
- Click Connect GitHub Organization again
- Re-authorize and select repositories
Best Practices
Repository Organization
Monorepo: If using a monorepo, create separate workflows for different apps:- Workflow 1:
android-app-tests(tests Android build) - Workflow 2:
ios-app-tests(tests iOS build)
Branching Strategy
Use branch-specific testing:main/master: Full test suite before mergingdevelop/staging: Smoke tests for quick feedback- Feature branches: Tests related to the feature
Commit Messages
Include test references in commit messages:Protected Branches
Configure GitHub branch protection:- Go to repo Settings → Branches
- Add rule for
mainbranch - Enable: Require status checks to pass before merging
- Select: Revyl Tests
Next Steps
- Set up GitHub Actions →
- Trigger tests via API →
- Configure workflows →
- View CI/CD pipeline in Builds →
Need help? Contact [email protected]