FixControl/Documentatie

Beheerdersgids

Git-providers (GitLab, Bitbucket)

GitLab, Bitbucket Cloud of Bitbucket Server koppelen zodat FixControl automatisch merge- of pull requests opent.

FixControl ondersteunt vier code-hosts. GitHub heeft zijn eigen aparte gids; deze pagina behandelt de andere drie. Het gedrag is gelijk over providers — je klikt Run fix op een issue, een agent maakt een patch in een sandbox, en er gaat een pull/merge request open op de geconfigureerde branch — alleen de auth-flow verschilt.

ProviderSurfaceAuth-opties
GitHubPull requestApp (aanbevolen), OAuth, PAT
GitLabMerge requestOAuth, PAT
Bitbucket CloudPull requestOAuth, app password
Bitbucket ServerPull requestPersonal access token

GitLab

Auth-keuzes

  • OAuth (aanbevolen) — admin logt één keer in, FixControl krijgt per-user installation context en kan op elk project handelen dat de admin kan zien.
  • PAT — alleen token. Simpeler, maar gebonden aan een specifiek useraccount; vertrekt die gebruiker, dan sterft het token.

Self-hosted GitLab wordt ondersteund — wijs FixControl bij het koppelen naar je instance-URL (default is https://gitlab.com).

OAuth-setup

  1. In GitLab: Edit profile → Applications (voor een instance-wide app: Admin → Applications).
  2. Naam: FixControl. Redirect URI: https://<jouw-host>/api/auth/gitlab/callback.
  3. Scopes: api, read_repository, write_repository. Confidential moet aan staan.
  4. Opslaan en de Application ID + Secret kopiëren, en die in FixControl invullen tijdens de connect-flow.
  5. Elke tenant-admin klikt Settings → Integrations → GitLab → Connect en geeft consent. Het OAuth-token wordt versleuteld opgeslagen bij de integratie van de tenant.
GitLab-integratie-rij in connected-status met zichtbare projectlijst na OAuth-consent
GitLab-integratie-rij in connected-status met zichtbare projectlijst na OAuth-consent

PAT-setup

  1. Edit profile → Access Tokens → maak token met scopes api, read_repository, write_repository.
  2. In FixControl: Settings → Integrations → GitLab → Connect via PAT en plak token + base URL.

Wat FixControl doet bij Run fix

  • Brancht af van de default_branch van je project.
  • Pusht de patch naar een branch met de naam fixcontrol/<issue-id>-<slug>.
  • Opent een merge request, vult titel en beschrijving uit het issue, linkt het issue-ID.
  • Plaatst de MR-URL terug op het issue.

Webhooks (optioneel)

Wil je dat FixControl reageert op MR-closes/merges, voeg dan in GitLab een webhook toe naar https://<jouw-host>/api/webhooks/gitlab met de events Merge request events, Push events, Note events. Het signing secret zie je in FixControl op de integratie-pagina.

Bitbucket Cloud

Auth-keuzes

  • OAuth consumer (aanbevolen) — workspace-admin geeft één keer toestemming.
  • App password — per gebruiker. Simpeler voor single-user setups.

OAuth consumer-setup

  1. Workspace settings → OAuth consumers → Add consumer.
  2. Naam: FixControl. Callback URL: https://<jouw-host>/api/auth/bitbucket/callback.
  3. This is a private consumer: aanvinken.
  4. Permissions: Account Email/Read, Repositories Read/Write, Pull requests Read/Write.
  5. Opslaan en Key + Secret kopiëren, en die in FixControl invullen tijdens de connect-flow.
  6. Tenant-admin klikt Settings → Integrations → Bitbucket → Connect.
"Add OAuth consumer"-formulier in Bitbucket ingevuld voor FixControl met geblurde secret
"Add OAuth consumer"-formulier in Bitbucket ingevuld voor FixControl met geblurde secret

App password-setup

  1. Personal settings → App passwords → Create app password.
  2. Permissions: Account Read, Repositories Read/Write, Pull requests Read/Write.
  3. Kopieer het password (één keer zichtbaar) en plak het samen met de Bitbucket-username in FixControl.

Bitbucket Server (on-prem)

Bitbucket Server (voorheen Stash) wordt ondersteund via personal access tokens.

  1. In Bitbucket Server: Profile → Manage account → HTTP access tokens → Create token.
  2. Permissions: Project Read, Repositories Read/Write. Zet een expiry die matcht met je rotatiebeleid.
  3. In FixControl: Settings → Integrations → Bitbucket Server → Connect, plak base URL (bv. https://bitbucket.internal.acme/) en het token.

Tokens met strakkere scope dan hierboven kunnen geen branches pushen of PRs openen.

Meerdere providers per tenant

Een tenant kan elke combinatie van providers koppelen. Bijvoorbeeld: GitHub voor productie-repos, GitLab voor een internal tools monorepo, Bitbucket Server voor een legacy product. Elke codebase wijst precies één provider aan — agents kiezen bij een Run-fix automatisch de juiste.

Veelvoorkomende fouten

SymptoomOorzaak
401 unauthorized op Run fixToken expired of ingetrokken. Reconnect via Settings → Integrations.
404 not found bij MR openenDe branch die FixControl probeerde te pushen bestaat niet of het project-ID is gewijzigd. Re-link de codebase.
403 forbidden bij pushOAuth-consent miste write_repository (GitLab) of Repositories: Write (Bitbucket). Reconnect met volledige scope.
Webhook deliveries 401Signing secret in je provider matcht niet met dat van FixControl. Roteer vanaf de integration-pagina.

FAQ

Kan één repository meerdere providers gebruiken? Nee — elke codebase resolved naar precies één provider. Als je een repo mirrort over hosts, kies dan de canonieke en laat de andere extern syncen.

Worden tokens encrypted at rest? Ja. Elke credential — OAuth tokens, refresh tokens, PATs, app passwords — wordt versleuteld met AES-256-GCM voordat ze opgeslagen worden.

Kan ik roteren zonder in-flight patches kwijt te raken? Ja. Reconnect maakt een nieuwe credential en swapt 'm atomic in. Reeds gepushte patches lopen normaal door; nieuwe patches gebruiken de nieuwe credential.

Iets onduidelijk of fout?Laat het ons weten →

FixControl is een handelsnaam van FixControl B.V. i.o.