Skip to content

GitLab ​

GitLab context enriches an existing Pulse. It does not create Pulses.

How this helps triage: matching excerpts can show up in the summary, the first checks, and What informed this on the Pulse.

Exhale queries selected GitLab projects at triage time and attaches scrubbed recent-commit excerpts as SCM context.

Connect ​

  1. Sign in as a workspace admin.
  2. Open Connections → Context → Repositories → GitLab.
  3. Authorize GitLab OAuth and select the projects Exhale may read. Default scopes are read_api, read_user, and read_repository. Reconnect with write access requests api instead of read_api. Self-hosted instance URLs must be HTTPS and cannot target loopback or cloud metadata.
  4. Test connection to mark the connector configured.
  5. Disconnect clears the stored token.

GitLab access tokens last about two hours; Exhale refreshes them with the stored refresh token before listing projects or reading commits, and asks you to reconnect if that refresh fails.

Missing credentials, timeouts, or vendor 403s skip this block. Triage still completes. Send-test-alert Pulses skip live collectors.

Plan ​

Growth or higher.

Connector slots are shared across Context categories (markdown runbooks use a separate document cap). Tighten AI → Prompt → Context use if excerpts are noisy or too large.

API ​

Canonical paths are under /v1. Writes use the signed-in session and CSRF. Secrets are never returned on GET. Disconnect is DELETE /v1/auth/context-connectors/gitlab. Start is GET /v1/auth/context-connectors/gitlab/oauth/start.

Exhale by Kolstrom Systems LLC