Provider Reference¶
Stack supports multiple Git hosting providers.
Supported Providers¶
| Provider | Status | Self-Hosted |
|---|---|---|
| GitHub | Full Support | Yes |
| GitLab | Full Support | Yes |
| Gitea | Planned | - |
| Bitbucket | Considering | - |
GitHub¶
Features¶
- Pull request creation and management
- Review requests
- CI status (GitHub Actions)
- Labels and milestones
- Draft PRs
- Auto-merge
Authentication¶
Required Scopes¶
For OAuth:
- repo - Repository access
- read:user - User profile
For PAT:
- repo - Full control of private repositories
GitHub Enterprise¶
GitLab¶
Features¶
- Merge request creation and management
- Approval requests
- Pipeline status (GitLab CI)
- Labels and milestones
- Draft MRs
- Merge when pipeline succeeds
Authentication¶
You'll be prompted for a personal access token.
Required Scopes¶
api- Full API accessread_user- Read user info
Self-Hosted GitLab¶
Provider Detection¶
Stack auto-detects the provider from your remote URL:
| URL Pattern | Provider |
|---|---|
github.com |
GitHub |
gitlab.com |
GitLab |
*.github.* |
GitHub Enterprise |
*/gitlab/* |
GitLab |
Override if needed:
Feature Comparison¶
| Feature | GitHub | GitLab |
|---|---|---|
| PR/MR Creation | ✅ | ✅ |
| Draft Support | ✅ | ✅ |
| Review Requests | ✅ | ✅ |
| CI Status | ✅ | ✅ |
| Labels | ✅ | ✅ |
| Milestones | ✅ | ✅ |
| Auto-merge | ✅ | ✅ |
| Squash Merge | ✅ | ✅ |
| Rebase Merge | ✅ | ✅ |
API Rate Limits¶
GitHub¶
- Authenticated: 5,000 requests/hour
- Stack typically uses 2-10 requests per operation
GitLab¶
- Authenticated: 2,000 requests/minute
- Stack typically uses 2-10 requests per operation
Troubleshooting¶
"Not authenticated" errors¶
"Rate limit exceeded"¶
Wait for the rate limit to reset, or use a different token.
"Permission denied"¶
Ensure your token has the required scopes.