GitLab Connection
GitLab Connection

Work with IOModel models and specs in a GitLab repository — Git-projects or cloud sync.

GitLab is a first-class git host next to GitHub: file-based Git-projects keep the repository as the source of truth, and cloud projects can sync Standard and Protected branches the same way as GitHub (including self-hosted GitLab).

Git-project (files in GitLab)

CapabilityHow
VersioningStandard Git commits and branches
ReviewMerge requests on model and spec files
CIIOModel validation in GitLab CI
EditingVS Code / Cursor extension
# .gitlab-ci.yml
iomodel-validate:
  image: node:20
  script:
    - npx @iomodel/cli validate --json > validation.json
  artifacts:
    when: always
    paths:
      - validation.json

Put the project in a GitLab repo

Use the Git Project layout.

Commit and push

Version with Git and push to GitLab.

Review in merge requests

Reviewers read the model/spec diff in the MR.

Validate in CI

Add the validation job so merge requests are checked.

Cloud GitLab sync

Organisation Settings → Git Integration must list GitLab Cloud or your self-hosted GitLab. Then Project settings → Git accepts a GitLab HTTPS URL and a project/group access token with read_repository + write_repository.

Behaviour matches GitHub Connection:

  • Only Standard and Protected branches sync; Collab rooms stay in Studio.
  • The exported snapshot includes _attachments/ and other binaries.
  • Git LFS is not supported — sync stops instead of corrupting files.
  • Status conflict / problem pauses that branch until you resolve it.

Import a GitLab repo as a new cloud project from Projects → New → Import Project.

The validation command and exit codes are the same across providers — see CI Validation.

Last updated on