Integrations settings
Overview
Faheem Code offers several integrations, including GitHub, GitLab, Bitbucket, and Slack, with more to come. Some integrations, like Slack, are only available in Faheem Code Cloud. Configuration may also vary depending on whether you're using Faheem Code Cloud or running Faheem Code on your own.
Faheem Code Cloud integrations settings
GitHub settings
Configure GitHub Repositories- Allows you to modify GitHub repository access for Faheem Code.
Slack settings
Install Faheem Code Slack App- Install the Faheem Code Slack app in your Slack workspace. Make sure your Slack workspace admin/owner has installed the Faheem Code Slack app first.
Running on your own integrations settings
Version control integrations
GitHub setup
Faheem Code automatically exports a GITHUB_TOKEN to the shell environment if provided:
Setting up a GitHub token
- Generate a Personal Access Token (PAT):
- On GitHub, go to
Settings > Developer Settings > Personal Access Tokens. - Tokens (classic)
- Required scopes:
repo(Full control of private repositories)
- Required scopes:
- Fine-grained tokens
- All Repositories (You can select specific repositories, but this will impact what returns in repo search)
- Minimal Permissions (Select
Meta Data = Read-onlyread for search,Pull Requests = Read and WriteandContent = Read and Writefor branch creation)
- Enter token in Faheem Code:
- Navigate to the
Settings > Integrationspage. - Paste your token in the
GitHub Tokenfield. - Click
Save Changesto apply the changes.
If you're working with organizational repositories, additional setup may be required:
- Check organization requirements:
- Organization admins may enforce specific token policies.
- Some organizations require tokens to be created with SSO enabled.
- Review your organization's token policy settings.
- Verify organization access:
- Go to your token settings on GitHub.
- Look for the organization under
Organization access. - If required, click
Enable SSOnext to your organization. - Complete the SSO authorization process.
Troubleshooting
-
Token Not Recognized:
- Check that the token hasn't expired.
- Verify the token has the required scopes.
- Try regenerating the token.
-
Organization Access Denied:
- Check if SSO is required but not enabled.
- Verify organization membership.
- Contact organization admin if token policies are blocking access.
GitLab setup
Faheem Code automatically exports a GITLAB_TOKEN to the shell environment if provided:
Setting up a GitLab token
- Generate a Personal Access Token (PAT):
- On GitLab, go to
User Settings > Access Tokens. - Create a new token with the following scopes:
api(API access)read_user(Read user information)read_repository(Read repository)write_repository(Write repository)
- Set an expiration date or leave it blank for a non-expiring token.
- Enter token in Faheem Code:
- Navigate to the
Settings > Integrationspage. - Paste your token in the
GitLab Tokenfield. - Click
Save Changesto apply the changes.
- (Optional): Restrict agent permissions
- Create another PAT using Step 1 and exclude
apiscope . - In the
Settings > Secretspage, create a new secretGITLAB_TOKENand paste your lower scope token. - Faheem Code will use the higher scope token, and the agent will use the lower scope token.
Troubleshooting
-
Token Not Recognized:
- Check that the token hasn't expired.
- Verify the token has the required scopes.
-
Access Denied:
- Verify project access permissions.
- Check if the token has the necessary scopes.
- For group/organization repositories, ensure you have proper access.
Bitbucket setup
Setting up a Bitbucket password
- Generate an App password:
- On Bitbucket, go to
Account Settings > App Password. - Create a new password with the following scopes:
account:readrepository: writepull requests: writeissues: write
- App passwords are non-expiring token. Faheem Code will migrate to using API tokens in the future.
- On Bitbucket, go to
- Enter token in Faheem Code:
- Navigate to the
Settings > Integrationspage. - Paste your token in the
BitBucket Tokenfield. - Click
Save Changesto apply the changes.
Troubleshooting
- Token Not Recognized:
- Check that the token hasn't expired.
- Verify the token has the required scopes.