Skip to main content
GitLab does not have a GitHub-style App installation flow. Configure a GitLab OAuth application for Roomote’s deployment, then authorize it once so Roomote can sync repositories, run tasks, add merge-request notes, and manage webhooks. Use <public-url> below for your stable public Roomote URL (R_PUBLIC_URL when set, otherwise R_APP_URL). The GitLab OAuth application redirect URI must match the callback Roomote builds for authorize and token exchange.

Create a GitLab OAuth application

Create the application on the GitLab account, group, or instance that should own Roomote’s access. Use these settings:
  • Confidential: enabled
  • Redirect URI: <public-url>/api/source-control/gitlab/oauth/callback
  • Scopes: api
Save the application credentials in setup, deployment env vars, or local .env.local:
For self-managed GitLab, also set GITLAB_BASE_URL.

Sync repositories

After the application credentials are configured, open Settings, go to the Environments page, authorize GitLab, and use the Source Control section’s sync button. Roomote lists the projects visible to the authorized GitLab account and stores them as GitLab repository rows. GitLab-backed tasks clone from the synced repository row, so sync must run before launching a GitLab-backed task.

Configure webhooks

Create a GitLab project or group webhook for merge request, issue, comment, and pipeline events. Repository sync configures these project webhook events automatically when the authorized identity has permission to manage hooks. Webhook URL:
Enable:
  • Merge request events
  • Issues events
  • Comments
  • Pipeline events
Preferred verification uses GitLab signed webhook headers. Set a GitLab signing token on the webhook and save the same value in Roomote:
Legacy secret-token verification is also supported:
Once the application is configured, users can link their personal GitLab accounts in Roomote’s Personal settings and trigger tasks by mentioning @roomote in merge request comments.

Enable review automation

GitLab merge-request reviews use the same Review Code automation targeting model as GitHub. After syncing repositories, associate the GitLab repository with the intended environment and enable Review Code automation for that target. Open or reopened merge request events enqueue initial review tasks. Update events enqueue sync reviews when GitLab includes oldrev, which indicates a code-related update.

Enable CI failure triage

Associate the GitLab repository with an environment, configure the Manager Channel destination, and enable CI Failure Triage under Automations. Failed default-branch Pipeline Hooks start an environment-backed Roomote task. Roomote reads a bounded tail of the failed job logs with the deployment GitLab credential, reproduces the relevant commands locally, and opens a merge request when it can fix the failure.

Verify setup

  1. sync GitLab repositories from Settings
  2. create or update an environment from a synced repository
  3. start a small task and confirm Roomote can clone the repository
  4. open or update a merge request and confirm configured review automation runs
  5. trigger a failing default-branch pipeline and confirm CI Failure Triage starts