Ingest GitLab merge requests, issues, commits, pipelines, and releases into CortexDB.
GitLab Connector
Captures merge requests, issues, commits, comments, pipeline statuses, and releases from your GitLab group / projects as CortexDB experiences. System hooks for low-latency; cursor-based polling as a fallback.
Two ways to run this connector:
- Run it yourself (Free + paid) —
pip install 'cortexdb-connectors[gitlab]'thencortexdb-sync sync gitlab. The connector reads your token from~/.cortexdb/state.json(written bycortexdb init) or from env vars. - Managed sync (Starter and up) — CortexDB runs the connector as a worker on its infrastructure. Configure it once from your dashboard; CortexDB handles webhook registration, retries, backfill, and idempotency.
1. Prepare credentials in GitLab
Settings → Access Tokens (group level recommended). Scopes: read_api, read_repository. Copy the token (glpat-…).
2. Configure in your CortexDB dashboard
- Sign in at cortexdb.ai/login.
- Settings → Connectors → Add Connector → GitLab.
- Paste the GitLab URL (
https://gitlab.comor your self-hosted URL) and access token. - Pick the groups / projects to sync.
- Set the scope template. Default:
org:<your-org>/source:gitlab/project:{project_path}. - Pick sync mode: Real-time (system hook — the dashboard provisions the delivery URL automatically) or Polling.
- Click Start sync.
What gets written
| Event | Modality | Notes |
|---|---|---|
| Merge request opened/updated | document | Title + description |
| Merge request comment | conversation | role=user; preceded_by links thread |
| Issue created/updated | document | Title + description |
| Pipeline status | observation | success/fail with duration metadata |
| Release | document | Tag + release notes |
idempotency_key shape: gl:<event_type>:<project_id>/<id>.
Run it yourself
If you'd rather host the connector yourself instead of using CortexDB's managed worker, every connector ships in the cortexdb-connectors PyPI package:
pip install 'cortexdb-connectors[gitlab]'
# Step 1: get a CortexDB token + actor (one-time, free tier)
pip install cortexdb-cli
cortexdb init
# Step 2: supply the connector's third-party credentials
export GITLAB_TOKEN=... # required
# Step 3: one-shot sync, or `watch` for a poll loop
cortexdb-sync sync gitlab
cortexdb-sync watch gitlab --interval 60
cortexdb-sync reads your CortexDB token + actor from ~/.cortexdb/state.json automatically. Cursor state is persisted in ~/.cortexdb/connectors-state.json, so re-running picks up where the last cycle left off.