Git Providers connect your source code repositories to the CI Platform. Configure provider credentials to enable automatic pipeline triggers, code checkout, and repository management.Documentation Index
Fetch the complete documentation index at: https://docs.shiftlabs.dev/llms.txt
Use this file to discover all available pages before exploring further.
Key Concepts
Provider
Access Token
Default Provider
Organization
Required Permissions
| Action | Permission |
|---|---|
| View providers | iam:project:cicd:providers:read |
| Create providers | iam:project:cicd:providers:write |
| Edit providers | iam:project:cicd:providers:write |
| Test connection | iam:project:cicd:providers:write |
| Delete providers | iam:project:cicd:providers:delete |
Supported Providers
| Provider | Token Type | Organization Field |
|---|---|---|
| GitHub | Personal Access Token (Classic or Fine-grained) | Organization |
| GitLab | Personal Access Token | Group/Organization |
| Bitbucket | App Password | Workspace |
How to Add a Provider
Enter Provider Name
Configure Organization (Optional)
Token Requirements
GitHub
Create a Personal Access Token at GitHub → Settings → Developer settings → Personal access tokens. Required Scopes (Classic Token):repo- Full control of private repositoriesadmin:repo_hook- Full control of repository hooks (for webhooks)read:org- Read organization membership (if using organization)
- Repository access: All repositories or specific repositories
- Permissions: Contents (Read and write), Webhooks (Read and write), Metadata (Read)
GitLab
Create a Personal Access Token at GitLab → User Settings → Access Tokens. Required Scopes:api- Full API accessread_repository- Read repository contentwrite_repository- Write to repository
Bitbucket
Create an App Password at Bitbucket → Personal settings → App passwords. Required Permissions:- Account: Read
- Repositories: Read, Write, Admin
- Webhooks: Read and write
How to Edit a Provider
Modify Settings
How to Test Connection
How to Set Default Provider
How to Delete a Provider
Provider-Specific Configuration
GitHub
| Field | Description |
|---|---|
| Username | Your GitHub username |
| Organization | Optional. GitHub organization name for accessing org repositories |
| Access Token | Personal access token with required scopes |
GitLab
| Field | Description |
|---|---|
| Username | Your GitLab username |
| Organization | Optional. GitLab group name for accessing group repositories |
| Access Token | Personal access token with api scope |
Bitbucket
| Field | Description |
|---|---|
| Username | Your Bitbucket username |
| Your Bitbucket email (used for authentication) | |
| Workspace | Bitbucket workspace slug for accessing workspace repositories |
| Access Token | App password with required permissions |
Troubleshooting
Connection test failed
Connection test failed
- Verify access token has required scopes/permissions
- Check if token has expired
- Ensure username is correct
- For Bitbucket, verify email is provided
- Check if organization/workspace name is spelled correctly
Cannot see repositories
Cannot see repositories
- Verify token has repository read permissions
- Check organization/workspace is set correctly
- Ensure token has access to the organization
- For private repos, verify token scope includes private repository access
Webhook not triggering pipelines
Webhook not triggering pipelines
- Verify provider is active
- Check webhook configuration in repository settings
- Ensure token has webhook permissions
- Verify the webhook URL is accessible from the internet
Cannot create provider
Cannot create provider
- Access token is required for new providers
- Verify you have write permission
- Check if provider name is unique
Clone/checkout failing in pipelines
Clone/checkout failing in pipelines
- Verify provider is active
- Check if token has write permission for the repository
- Ensure organization/workspace settings match repository location
- Token may have expired - update with new token
Cannot delete provider
Cannot delete provider
- Check if projects are using this provider
- Reassign projects to another provider first
- Verify you have delete permission
FAQ
Can I use the same token for multiple providers?
Can I use the same token for multiple providers?
How do I rotate access tokens?
How do I rotate access tokens?
What happens if a token expires?
What happens if a token expires?
Can I have multiple providers of the same type?
Can I have multiple providers of the same type?
What's the difference between organization and personal repositories?
What's the difference between organization and personal repositories?
Are access tokens encrypted?
Are access tokens encrypted?
Can I use SSH keys instead of tokens?
Can I use SSH keys instead of tokens?
What if I change my Git username?
What if I change my Git username?
Best Practices
Security
- Use tokens with minimum required permissions
- Rotate tokens regularly (every 90 days recommended)
- Create separate tokens for each environment
- Never share tokens between team members
- Use fine-grained tokens when available (GitHub)
Organization
- Use descriptive provider names (include environment, team, or purpose)
- Set a default provider for consistent project creation
- Deactivate unused providers instead of deleting (preserves history)
- Document which provider each project uses
Token Management
- Store tokens in a password manager before adding to the platform
- Set calendar reminders for token rotation
- Test connection after token rotation
- Monitor provider status in the dashboard
Multi-Provider Setup
For organizations with multiple Git platforms:- Different access levels per environment
- Separate token rotation schedules
- Clear project organization by provider