GitHub & GitLab Integration
Connect your version control provider to enable automated syncs, webhook routing, PR/merge request previews, and CI/CD pipeline triggers.
GitHub v4.2+
- Automatic branch & tag syncing
- PR preview environments
- Commit status & check suites
- GitHub Apps & OAuth support
- Actions trigger compatibility
GitLab v14.0+
- Full GitLab CI/CD variable injection
- Merge Request diff previews
- Group & project webhook routing
- Self-hosted & GitLab.com compatible
- Container registry integration
Setup Guide
1
Generate Access Token
Navigate to your provider's developer settings and create a token with repo (GitHub) or read_repository, write_repository (GitLab) scopes.
# GitHub: Settings → Developer settings → Personal access tokens
# GitLab: User Settings → Access Tokens → Project access token
export GIT_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxx"
export GL_TOKEN="glpat-xxxxxxxxxxxxxxxxxxxx"
2
Install & Authenticate
Use the CLI to register your remote provider. .git handles token encryption and secure storage automatically.
git connect --provider github --token $GIT_TOKEN
✓ Authenticated as @your-org
✓ Registered 12 repositories
3
Configure Sync & Webhooks
Add the integration config to your repository root or project settings. Webhooks are auto-provisioned.
.git/config.yml
provider: "github"
sync:
branches: ["main", "develop"]
tags: true
webhooks:
events: ["push", "pull_request", "release"]
retry: 3
timeout_ms: 5000
Supported Events & Config
| Configuration Key | Description | Provider |
|---|---|---|
sync.branches |
Array of branch patterns to track and deploy | GitHub & GitLab |
webhooks.events |
Trigger types to forward to .git endpoints | GitHub & GitLab |
ci.variables |
Environment variables injected into pipeline runs | GitLab Only |
actions.trigger |
Enable GitHub Actions workflow dispatch | GitHub Only |
pr.preview_url |
Template for ephemeral deploy previews | GitHub & GitLab |
Frequently Asked Questions
Does .git support self-hosted GitLab instances? ▼
Yes. Point your webhook URL to your self-hosted domain and ensure TLS/SSL is valid. .git validates certificates and supports custom CA roots via
ssl.ca_file config.How are tokens secured? ▼
All tokens are encrypted at rest using AES-256-GCM and never logged. They are rotated automatically upon expiration and can be revoked instantly from the dashboard or CLI.
Can I use both GitHub and GitLab in the same project? ▼
Yes. Configure a multi-provider setup by defining separate
provider blocks in your config. .git routes events and syncs independently per provider.What happens if webhooks fail? ▼
.git implements exponential backoff with configurable retries. Failed payloads are queued and retried up to 5 times. You can monitor delivery logs in the Integration Dashboard.