Skip to main content

Integrations & issue tracking

Integrations connect Errora to your source control. That unlocks two things: AI auto-fix (read source, open merge requests) and issue tracking (create or link a GitLab issue from an Errora issue).

Connect GitLab​

Settings → Integrations → Add integration:

FieldNotes
providergitlab (self-hosted or gitlab.com). github is scaffolded for a future release.
base_urlYour instance, e.g. https://gitlab.example.com. Defaults to https://gitlab.com.
access_tokenA personal/group access token. Stored encrypted at rest.
nameA label, so several instances stay distinguishable

Token scopes: api is the simplest working scope — Errora needs to list projects, read file contents, create branches and open merge requests and issues.

curl -X POST "$ERRORA/api/v1/organizations/$ORG_ID/integrations" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"provider":"gitlab","base_url":"https://gitlab.example.com","access_token":"glpat-…","name":"Company GitLab"}'

Managing integrations requires the integration:manage capability.

Sync repositories​

After connecting, Sync pulls the repositories the token can see:

POST /api/v1/organizations/{org_id}/integrations/{id}/sync
GET /api/v1/organizations/{org_id}/integrations/{id}/repositories

Each repository is stored with its provider id, path_with_namespace, web URL and default branch.

On the project's settings, pick the repository whose code produces that project's errors. This is what AI auto-fix reads from and opens merge requests against.

Issue tracking from an issue​

On any Errora issue you can:

  • Create a GitLab issue — title and description are prefilled from the exception, the stack trace and a link back to Errora.
  • Link an existing issue — search the repository's issues and attach one, optionally posting a comment with the Errora link.

Linked issues are listed on the issue page, so the next person sees the ticket without digging.

GET /api/v1/projects/{project_id}/issues/{issue_id}/external-issues
POST /api/v1/projects/{project_id}/issues/{issue_id}/external-issues
GET /api/v1/projects/{project_id}/external-issues/search?q=
GET /api/v1/projects/{project_id}/issues/{issue_id}/repositories

Troubleshooting​

SymptomCause / fix
Sync returns nothingThe token can't see any projects — check its scope and the group it belongs to
401 from the providerToken expired or revoked; re-enter it (tokens are write-only in the API)
Your GitLab instance unreachableErrora calls it from its own servers, not from your browser — the instance must be reachable publicly, with a valid certificate
MR creation failsThe token lacks write access, or the default branch is protected against direct branch creation