Appearance
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.
Connect
- Sign in as a workspace admin.
- Open Connections → Context → Repositories → GitLab.
- Authorize GitLab OAuth and select the projects Exhale may read. Default scopes are
read_api,read_user, andread_repository. Reconnect with write access requestsapiinstead ofread_api. Self-hosted instance URLs must be HTTPS and cannot target loopback or cloud metadata. - Test connection to mark the connector configured.
- 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.