Git Provider Setup
The AI Janitor needs access to your Git repositories to scan for stale flag references and generate cleanup PRs. This guide covers setup for each supported provider.
GitHub
Option A: GitHub App (Recommended)
- Go to Settings → Developer settings → GitHub Apps
- Click New GitHub App
- Configure:
| Setting | Value |
|---|---|
| GitHub App name | featuresignals-janitor-{your-org} |
| Homepage URL | https://featuresignals.com |
| Callback URL | https://app.featuresignals.com/api/v1/janitor/oauth/github/callback |
| Webhook URL | https://app.featuresignals.com/api/v1/janitor/webhooks/github |
| Webhook secret | Generate a random secret |
-
Permissions:
- Repository contents: Read & write
- Pull requests: Read & write
- Metadata: Read
- Webhooks: Read & write
-
Subscribe to events:
- Pull request
- Push
-
Generate a private key and note the App ID
-
In FeatureSignals, go to Settings → Integrations → GitHub
-
Paste the App ID and private key
Option B: Personal Access Token (Quick Setup)
- Go to GitHub Settings → Developer settings → Personal access tokens → Fine-grained tokens
- Click Generate new token
- Set:
- Repository access: Only select repositories (recommended)
- Permissions: Contents: Read & write, Pull requests: Read & write
- Copy the token
- In FeatureSignals, paste the token in the Connect field
GitLab
Option A: OAuth Application
- Go to GitLab → Settings → Applications
- Create a new application:
| Setting | Value |
|---|---|
| Name | FeatureSignals AI Janitor |
| Redirect URI | https://app.featuresignals.com/api/v1/janitor/oauth/gitlab/callback |
| Scopes | api, read_repository, write_repository |
- Note the Application ID and Secret
- Configure in FeatureSignals settings
Option B: Project/Group Access Token
- Go to GitLab → Settings → Access Tokens
- Create a token with scopes:
api,read_repository,write_repository - Copy the token
- Paste in FeatureSignals
Bitbucket
OAuth Consumer
- Go to Bitbucket → Personal settings → OAuth
- Click Add consumer
| Setting | Value |
|---|---|
| Name | FeatureSignals AI Janitor |
| Callback URL | https://app.featuresignals.com/api/v1/janitor/oauth/bitbucket/callback |
| Permissions | Repository: Write, Pull request: Write |
- Note the Key and Secret
- Configure in FeatureSignals settings
Troubleshooting
Token Expired
If your token expires, reconnect via Settings → Integrations. The Janitor will show a warning banner.
Repository Not Found
Ensure the token has access to the repository. For organization repos, the token must be granted organization access.
Insufficient Permissions
The Janitor needs write access to create branches and PRs. If using a read-only token, connect via OAuth instead.