Git Providers

Git Providers give Forkline authenticated access to your repositories. Forkline supports GitHub, GitLab, and Forgejo, including self-hosted instances.

Overview

When you connect a git provider, Forkline can:

  • Clone repositories into runners with the right authentication
  • Push changes back to branches and create pull requests
  • Receive webhooks for automation triggers
  • Call provider APIs for repository operations

Info: Each git provider connection is user-specific. Your git providers only access repositories you can already view.

Connector models
GitHub App

Best default when available

Forkline handles repository installation, webhook setup, and permission scoping through the GitHub App flow.

Auto webhooksAuto permissionsBetter rate limits
GitLab PAT

Flexible for hosted or self-managed

Connect with an API token when you need project or group access across GitLab.com or private instances.

Self-hostedManual webhooksPAT rotation
Forgejo Token

Works with Forgejo, Gitea, Codeberg

Use a scoped token when you need compatibility with community-hosted or self-hosted Forge ecosystems.

Self-hostedManual webhooksToken rotation
The main tradeoff is how much setup Forkline can automate versus how much you manage yourself.

Git Providers page with GitHub connected

GitHub

The GitHub integration is the lowest-friction option because the GitHub App handles repository installation and webhook setup for you.

  1. Go to Git Providers
  2. Click Connect Provider or Add Provider
  3. Select GitHub
  4. Choose the GitHub installation
  5. Select the repositories to grant access
  6. Authorize the application

Git provider selection modal

Why teams prefer it

  • Repository-level access control
  • No token rotation burden
  • Better rate limits
  • Organization-level installation support

Important: The GitHub App requests a fixed permission set. You cannot reduce individual permissions during installation.

App Permissions

PermissionAccess LevelPurpose
ContentsWriteClone repositories, push commits, create PRs
IssuesWriteRead issues, create comments
Pull requestsWriteCreate PRs, read PR details, comment
ChecksReadRead CI status for auto-fix
ActionsReadRead workflow logs

Webhook Events

The GitHub App automatically subscribes to these events:

EventUse Case
IssuesBot mentions on issues
Issue commentBot mentions on issue comments
Pull requestCI auto-fix, auto review, merge conflict detection
Pull request review commentBot mentions on PR review comments

These subscriptions are fixed by the app and cannot be customized per installation.

GitLab

Use a GitLab git provider when you need GitLab.com or self-managed GitLab support.

  1. Go to Git Providers
  2. Click Connect Provider
  3. Select GitLab
  4. Enter your GitLab instance URL
  5. Enter a GitLab PAT
  6. Save the connector

Optional: set an Automation Actor Username if you want Forkline to treat a specific service account as the actor for assignments, review requests, and bot-authored checks.

Self-Hosted GitLab

For self-hosted GitLab instances:

  1. Make sure the instance is reachable from Forkline
  2. Create a dedicated automation user or service account
  3. Grant it access to the project or group you want Forkline to manage
  4. Create a PAT with api, read_repository, and write_repository
# Example GitLab service-account PAT setup
Account: forkline-bot
Scopes: api, read_repository, write_repository

Forgejo

Forkline also supports Forgejo, Gitea, and Codeberg instances.

  1. Go to Git Providers
  2. Click Connect Provider
  3. Select Forgejo
  4. Enter your Forgejo, Gitea, or Codeberg instance URL
  5. Enter a scoped access token
  6. Save the connector

Optional: set an Automation Actor Username if the service account username you want Forkline to match differs from the token owner.

Required Scopes

ScopePurpose
write:repositoryPush branches and update pull requests
write:issueComment on issues and PRs
read:userValidate connector identity
read:repositoryClone repositories

Self-Hosted Setup

# Forgejo/Gitea access token configuration
# Navigate to: Settings > Applications > Access Tokens

Token Name: Forkline
Scopes: read:user, read:repository, write:repository, write:issue

Managing Git Providers

Viewing Git Providers

All your git providers appear on the Git Providers page. Each card shows:

  • Provider type and instance URL
  • Connected username
  • Repository access scope
  • Webhook configuration status

Disconnecting

To remove a git provider connection:

  1. Find the provider card
  2. Click the trash icon on the card
  3. Confirm the action

Warning: Disconnecting a git provider stops runners that depend on repositories from that provider, and related webhooks stop working.

Webhook Secrets

For GitLab and Forgejo providers, you can add a webhook secret for secure verification:

  1. Click the link icon on the provider card
  2. Enter a secret
  3. Configure your git provider with the same secret
# Generate a secure webhook secret
openssl rand -hex 32

Troubleshooting

Repository Not Found

If Forkline cannot find your repository:

  1. Verify the git provider has access to it
  2. For GitHub, confirm the installation includes the repository

Authentication Failed

If authentication fails:

  1. Reconnect the git provider
  2. Verify the required scopes are granted

Next Steps