In progressETA Q3 2025147 votes

GitLab Native Integration

DocsCI currently supports GitLab via a generic curl-based .gitlab-ci.yml job. The native integration replaces this with a first-class GitLab app: inline MR diff comments, pipeline status checks, self-managed instance support, and a GitLab Component Catalog entry.

Current state (curl workaround)

Today, GitLab users add a docs:verify job to their pipeline that archives docs and submits them via curl. Findings are posted as MR notes using a separate GitLab API call. This works, but it requires GITLAB_TOKEN setup and doesn't support inline diff comments on specific lines.

# Current approach (.gitlab-ci.yml)
docs:verify:
  stage: docs
  image: curlimages/curl:latest
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
  script:
    - tar czf docs.tar.gz docs/ *.md
    - |
      curl -sf -X POST https://snippetci.com/api/runs/queue \
        -H "Authorization: Bearer $DOCSCI_TOKEN" \
        -F "docs_archive=@docs.tar.gz" \
        -F "repo_url=$CI_PROJECT_URL" \
        -F "mr_iid=$CI_MERGE_REQUEST_IID"

What the native integration adds

Inline MR diff comments

shipping Q3

Findings appear as inline comments on the specific line of the MR diff — not just as MR notes. Developers see the finding in context while reviewing the change.

Pipeline status checks

shipping Q3

DocsCI sets a named pipeline status check (docsci/docs-quality) that integrates with GitLab's merge checks. Critical findings block merge without requiring allow_failure configuration.

GitLab Component Catalog entry

shipping Q3

A published GitLab CI component at gitlab.com/components/docsci. One line to include in your pipeline: `component: gitlab.com/components/docsci/verify@1.0`.

Self-managed GitLab support

shipping Q3

OAuth app registration for self-managed GitLab instances. Supports GitLab 16.x and later. Webhook delivery to your instance without requiring a public IP.

GitLab-native security scanning results

planned Q4

DocsCI findings published to GitLab's Security Dashboard as SAST-format JSON artifacts. Findings appear in the MR security widget alongside your existing security scanners.

What doesn't change

The curl-based .gitlab-ci.yml approach will continue to work indefinitely. The GitLab Component Catalog entry will use the same API under the hood — it's a convenience wrapper, not a replacement. Teams already using the curl method get inline diff comments automatically once they upgrade to using DOCSCI_TOKEN v2.

Timeline

Nowcurl-based integration available (stable)
Jun 2025Private beta: inline MR diff comments + pipeline status checks
Aug 2025GitLab Component Catalog entry (gitlab.com/components/docsci)
Sep 2025Self-managed instance OAuth app
Q4 2025GitLab Security Dashboard integration (SAST JSON)

Join the GitLab private beta

Get early access to inline MR diff comments when they launch in June 2025.