FixControl/Documentatie

Beheerdersgids

GitHub

Koppel GitHub aan FixControl zodat de Run-fix-flow automatisch Pull Requests kan openen.

FixControl opent automatisch een Pull Request wanneer een agent een patch genereert (de Run-fix → PR-flow). Voor die schrijfactie heeft FixControl een GitHub-credential nodig. Je hebt twee opties — kies er één.

Settings → Integraties
Settings → Integraties

Twee opties

GitHub AppPersonal Access Token
Aanbevolen voorProductie, multi-tenantSingle-repo setups
Token-leven1 uur, automatisch geroteerdStatisch tot je 'm intrekt
PR-attributie<app-slug>[bot]Jouw eigen account
Per-tenant scopingJa (per installatie)Nee — één token, één repo
Webhook-eventsJaNee

In productie hoort de App-route.

Optie 1: GitHub App (aanbevolen)

Stap 1 — Registreer de App

Ga naar github.com/settings/apps/new (of je organisatie-instellingen) en gebruik:

  • Callback URL: https://<jouw-host>/api/auth/github/callback
  • Request user authorization (OAuth) during installation: aan
  • Enable Device Flow: aan
  • Webhook URL: https://<jouw-host>/api/github/webhook
  • Webhook secret: een willekeurige string van 32+ tekens — bewaar 'm
  • Permissions (Repository):

- Contents — Read & write - Pull requests — Read & write - Workflows — Read & write - Metadata — Read

  • Permissions (Account): Email addresses — Read

Download na het opslaan de private key (.pem).

Veiligheid: behandel de private key als een wachtwoord. Iemand met de PEM kan namens jouw App tokens verzilveren.

Stap 2 — Installeer per tenant

Een ingelogde admin gaat naar Settings → Integraties → GitHub verbinden. FixControl stuurt door naar GitHub's "Install on selected repositories"-pagina. Na bevestigen wordt de installatie aan de tenant gekoppeld en mint FixControl per PR een verse installatie-token (1u TTL).

Stap 3 — Webhook valideren

FixControl controleert elke delivery met X-Hub-Signature-256. Het secret in GitHub's App-settings moet identiek zijn aan het secret waarmee FixControl is geconfigureerd. Zonder match wordt elke delivery geweigerd — bewust: ongesigneerde webhooks worden nooit vertrouwd.

Optie 2: Personal Access Token

Gebruik dit voor een single-repo install.

Maak een fine-grained PAT met Contents: read & write en Pull requests: read & write op exact die ene repo. Een classic token werkt ook, maar geeft meer scope dan nodig.

PRs verschijnen onder jouw account. Er is geen webhook — events zoals pull_request.closed komen dus niet binnen.

Webhook setup

Alleen relevant voor de App-route:

  1. In de App-settings: Webhook URL = https://<jouw-host>/api/github/webhook.
  2. Webhook secret = exact dezelfde string waarmee FixControl is geconfigureerd.
  3. Subscribe op de events die je nodig hebt — Pull request is de minimale set voor de Run-fix-flow.
  4. Test via de Recent Deliveries-tab in de App-settings. Een 401 hier betekent meestal dat het secret niet matcht.

FAQ

Kan ik beide tegelijk configureren? Ja. FixControl kiest per tenant: App-installatie eerst, dan een opgeslagen user-token, dan de PAT. Zo kun je een productie-App combineren met een single-user PAT-setup.

Welke repo's kan FixControl raken? Voor de App: alleen de repo's die je tijdens installatie selecteert. Voor de PAT: alleen de geconfigureerde default-repo.

Wat als de installatie verwijderd wordt? De volgende PR-call krijgt een 401. FixControl invalideert de gecachete token automatisch en geeft de fout door — je heractiveert door opnieuw te installeren in Settings → Integraties.

Worden private key en secrets gelogd? Nee. Audit-events bevatten de installation-ID en GitHub-username, nooit tokens of de PEM.

Iets onduidelijk of fout?Laat het ons weten →

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