Connect a Repository
Before RunnerHub can build your app, it needs access to your Git repository. This guide covers connecting repositories on GitHub, GitLab, and Bitbucket.
Supported Platforms
Section titled “Supported Platforms”RunnerHub integrates with:
- GitHub — Via GitHub App (recommended for automatic webhook setup)
- GitLab — Via OAuth
- Bitbucket — Via OAuth
Connect GitHub Repository
Section titled “Connect GitHub Repository”GitHub integration uses the official RunnerHub GitHub App for secure, scope-limited access.
Install the GitHub App
Section titled “Install the GitHub App”- In RunnerHub dashboard, go to your app and click Connect Repository or Settings → Repository
- Click “GitHub” from the provider options
- You’ll be redirected to GitHub — Review the permissions (read access to code, pull requests, and webhooks)
- Click “Install” to authorize the RunnerHub app on your account or organization
- Select repositories — Choose which repositories to grant RunnerHub access to (you can limit this to specific repos)
- Confirm authorization — You’ll be redirected back to RunnerHub
Select Your Repository
Section titled “Select Your Repository”- Back in RunnerHub, you’ll see a list of repositories the app has access to
- Click to select your repository
- RunnerHub will automatically:
- Create a webhook on your repository
- Test the webhook connection
- Link the app to this RunnerHub app
Connect GitLab Repository
Section titled “Connect GitLab Repository”GitLab integration uses OAuth for seamless authentication.
Authorize with OAuth
Section titled “Authorize with OAuth”- In RunnerHub dashboard, go to your app and click Connect Repository or Settings → Repository
- Click “GitLab” from the provider options
- You’ll be redirected to GitLab — Review the permissions (API access to code and webhooks)
- Click “Authorize” to approve RunnerHub’s access to your GitLab account
- You’ll be redirected back to RunnerHub
Select Your Project
Section titled “Select Your Project”- You’ll see a list of your GitLab projects and groups
- Click to select your project
- RunnerHub will automatically:
- Create a webhook on your project
- Verify the webhook is working
- Link the project to this RunnerHub app
Connect Bitbucket Repository
Section titled “Connect Bitbucket Repository”Bitbucket integration uses OAuth for authentication.
Authorize with OAuth
Section titled “Authorize with OAuth”- In RunnerHub dashboard, go to your app and click Connect Repository or Settings → Repository
- Click “Bitbucket” from the provider options
- You’ll be redirected to Bitbucket — Review the permissions (API access and webhook management)
- Click “Authorize” to approve RunnerHub’s access
- You’ll be redirected back to RunnerHub
Select Your Repository
Section titled “Select Your Repository”- You’ll see a list of your Bitbucket workspaces and repositories
- Click to select your repository
- RunnerHub will automatically:
- Create a webhook on your repository
- Test the webhook connection
- Link the repository to this RunnerHub app
What Happens After Connection?
Section titled “What Happens After Connection?”Once your repository is connected:
- Webhook created — RunnerHub creates a webhook that listens for push events and pull requests
- Automatic triggers — When you push code or open a PR, RunnerHub automatically queues a build (if you have a
.runnerhub/runnerhub.ymlin your repo) - Status checks — Build status appears as a check on your GitHub commits, GitLab merge requests, or Bitbucket pull requests
- Build logs accessible — Click the check/status to view build logs directly from your Git provider
Manage Repository Connection
Section titled “Manage Repository Connection”To view or disconnect a repository:
- Go to App Settings — Click your app name in the sidebar, then Settings
- Click “Repository” tab
- You’ll see:
- Connected repository name
- Last webhook activity
- Option to disconnect or reconnect
Shared Repositories
Section titled “Shared Repositories”Multiple apps within the same account can connect to the same repository. This is useful for white-label apps — different branded versions of the same codebase.
When you connect a repo that’s already used by another app in your account:
- The repository list shows “Also used by: App Name” as an informational label
- You can still select and connect it — the button remains enabled
- Each app gets its own pipeline runs, variables, signing, and build history
Each app sharing a repository can optionally use a custom pipeline YAML path to run a different pipeline configuration. See Custom Pipeline Path for details.
Troubleshooting
Section titled “Troubleshooting”Repository doesn’t appear in the list
- On GitHub: Check the GitHub App is installed and you have the repo selected in the app settings
- On GitLab: Verify you’re viewing the correct group and have appropriate access
- On Bitbucket: Make sure you’re in the correct workspace
Webhook not triggering builds
- Check repository settings to ensure the webhook exists
- Verify
.runnerhub/runnerhub.ymlexists in your repository root - View webhook logs in your Git provider’s settings (GitHub → Settings → Webhooks, etc.)
Permission denied when connecting
- Ensure you have admin access to the repository
- Try disconnecting and reconnecting
- Check that your Git provider account hasn’t revoked app authorization
For more help, see Troubleshooting.
Next Steps
Section titled “Next Steps”With your repository connected:
- Write your first pipeline — Create
.runnerhub/runnerhub.ymlin your repository root (guide →) - Push and trigger a build — Commit and push to see your first build run
- View build results — Check the dashboard or your Git provider’s status checks