Skip to content

GitLab

Built, not certified Built and tested against recorded and synthetic responses (version 1.0.0, 10 November 2026). Not yet run against the vendor's sandbox or a client environment.

Reads Markdown files, issues, merge requests, wiki pages and failed-pipeline results from the GitLab projects (or groups of projects) you name, on GitLab.com or your own instance, so engineering agents can answer from the design notes, the review history and the failing builds.

CollectorGitLab, version 1.0.0
ReadsGitLab: GitLab REST API v4 (GitLab.com and self-managed) (the vendor's documentation)
FamilyEngineering
KindCode
Ways to connectAccess token, OAuth approval
Scopes
  • Read: read_api
Read onlyYes
Vendor's API can move moneyNo
Personal dataContent, Identity
Hosts it may contactgitlab.com
Vendor API versionsGitLab REST API v4
Lowest engine version0.45.0
  • Issues and merge requests: title, description and comments (system notes left out), state, labels, and for merge requests the source and target branches. Read since the newest updated_at seen per project.
  • Pipelines: status and ref; the jobs of failed or cancelled pipelines only.
  • Markdown files on the default branch, optionally only under doc_paths. The cursor keeps each file’s blob id; an unchanged file is not fetched, and one that leaves the tree is withdrawn.
  • Wiki pages: each page’s content; the cursor keeps a hash of it. A page that goes is withdrawn.
  • groups expand to their projects, subgroups included and archived ones left out.
  • Never read: code and other non-Markdown files.
  1. Create a personal, group or project access token with the read_api scope only (User settings, Access tokens), or approve LightHouse’s OAuth application with the read level.
  2. In LightHouse, open Connectors, choose GitLab, name the instance (GitLab.com by default), the projects (group/name) and groups, a label and how often to read, and approve or paste the token.
  3. In code, give the deployment the token as GITLAB_TOKEN from your secret store and add a kind: gitlab source card with projects and/or groups, label and requires. Set instance_url for a self-managed instance. A source that sets credential_env: "" reads public projects without a token.

read_api only. The collector sends only GET requests to <instance_url>/api/v4, with the token as a Bearer token; it never writes. The tree, file, wiki, issue, merge request, note and pipeline endpoints are all reads. Its read-only test proves it on every change.

  • You must name projects or groups; a whole instance is never the default. Project paths are group/name (nested groups a/b/name).
  • The instance address must be https://; requests to any other host are refused.
  • Only pipelines that failed or were cancelled have their jobs listed.
  • A tree that GitLab pages is followed to its last page before anything is compared; a failing page fails the pull rather than withdrawing what was not listed.
  • A 304 with nothing cached is an error, never an empty listing. A wiki that answers 404 is left as it was, because GitLab answers 404 for a disabled wiki and for one the token cannot see alike.
  • Issue, comment, document and wiki text is copied into the deployment’s corpus under the source’s label. Notes carry the author’s name. Text can hold personal data.
  • The token stays in your secret store and is never written to logs or run notes; it is sent only to the instance host.
  • Nothing leaves the deployment: only counts reach LightHouse.
What you see What it means What to do
name the projects or groups to sync; a whole instance is never the default Neither projects nor groups is set Name them
not group/name projects A project is not written group/name Correct the path
instance_url must be an https URL The instance address is not https Use the https address
credential variable 'GITLAB_TOKEN' is not set The token variable is empty Set it, or credential_env: "" for public projects
HTTP 401 or HTTP 403 The token is revoked, expired or lacks read_api Make a new token with read_api
Read succeeded, 0 written Nothing changed since the cursor Nothing to do

Each entry is a run by Atlantic Agentic Labs, newest first. Only a run against the vendor’s sandbox or a client environment certifies a collector; a certification lasts six months, or less if the vendor publishes an API version the collector does not list. See How collectors are certified.

DateCollectorEngineVendor APIMethodExpires
10 November 20261.0.00.45.0GitLab REST API v4Fixtures only: built, not certifiedNot applicable

From the collector’s last scan on the default branch. What each line means, and what blocks a release: Security posture.

Last scanned10 November 2026
Critical findings0
High findings0
Medium findings0
Low findings0
Info findings0
Release blockedNo
Network allow-list checkPass
Read-only behavioural testPass
SBOM (CycloneDX)Produced
Dependency licencesPass
Scannersbandit 1.9.4, semgrep 1.181.1, pip-audit 2.10.1, osv-scanner 2.7.0, cyclonedx-py 7.5.0, pip-licenses 5.5.5, gitleaks repository job aal-secrets, hosts_check tools/hosts_check.py, read-only test pytest -m read_only