Skip to main content
Technical Preview

Overview

A client-mode connector for a curated DevOps slice of the GitLab REST API v4: Default BASE_ADDRESS is https://gitlab.com/api/v4 (no trailing slash). Self-hosted: https://YOUR_HOST/api/v4. Topics use devops/gitlab/<object>/<verb>.
Auth prefers PRIVATE-TOKEN (personal / project / group access token). OAuth 2.0 may use Authorization: Bearer … instead. Prefer Hub secret GITLAB_TOKEN (aliases GITLAB_PRIVATE_TOKEN, GITLAB_ACCESS_TOKEN). Status remains blocked until an authenticated live smoke succeeds.

Basic Syntax

Events

Auth

  1. Create a personal access token (or project/group token) with appropriate scopes (api / read_api as needed), or obtain an OAuth 2.0 access token.
  2. For pipeline triggers, create a pipeline trigger token on the project (separate from the PAT).
  3. Set connector BASE_ADDRESS to https://gitlab.com/api/v4 or your self-hosted https://HOST/api/v4.
  4. Pass private_token on MQTT JSON payloads so the PRIVATE-TOKEN header resolves. For path params, also pass project_id / package path fields. For triggers, pass trigger_token and ref.
  5. Store secrets in Hub / GET SECRET "GITLAB_TOKEN" (aliases GITLAB_PRIVATE_TOKEN, GITLAB_ACCESS_TOKEN). Never commit real credentials.
  6. Successful smoke: GET /user → HTTP 200 with id. Invalid tokens → HTTP 401.

Example payloads

getUser (smoke):
triggerPipeline:
createIssue:
createProjectHook:

Server / inbound companion

POST /projects/{id}/hooks is client-mode registration (MQTT → GitLab). GitLab then POSTs events to your url. Receiving those callbacks into MQTT requires a separate companion ENABLE_SERVER connector — not included in GitlabRestApi.lot.

Deploy notes

Sources

Last modified on October 21, 2026