Skip to content

GitLab

Open in ChatGPT ↗
Ask ChatGPT about this page
Open in Claude ↗
Ask Claude about this page
Copied!

Connect Oz cloud agents to GitLab repos using personal access tokens and Warp-managed secrets.

Oz cloud agents work with any Git repository, including those hosted on GitLab. Unlike GitHub, GitLab does not have a native Warp integration, but you can grant agents access to your GitLab repositories using a personal access token and Warp-managed secrets. Once configured, your environment works with any Oz trigger—Slack, Linear, schedules, or the CLI.

This page explains how to generate a GitLab personal access token, store it securely, and configure a cloud agent environment that clones your repository at runtime.



  1. Sign in to GitLab.
  2. Click your avatar in the top-right corner, then click Edit profile.
  3. In the left sidebar, click Access, then click Personal access tokens.
  4. Click Add new token.
  5. Enter a descriptive name for the token (e.g. warp-oz-agent), and choose an expiration date that matches your team’s rotation policy.
  6. Under Select scopes, select read_repository.
  7. Click Generate token.
  8. Copy the token value immediately. GitLab will not show it again.

Step 2: Store the token as a Warp-managed secret

Section titled “Step 2: Store the token as a Warp-managed secret”

Warp injects managed secrets as environment variables at runtime and never exposes them in logs or configuration files. See the Secrets documentation for full details on scoping and managing secrets.

  1. Run the following command:
Terminal window
oz secret create --team GITLAB_TOKEN
  1. When prompted, paste the token.

The value is stored and encrypted, and cannot be retrieved after creation.

If you need to update a secret value, run:

Terminal window
oz secret update --value GITLAB_TOKEN

Step 3: Create an environment with a clone setup command

Section titled “Step 3: Create an environment with a clone setup command”

Create an environment that uses your token to clone the repository at the start of each agent run. Because the --repo flag in oz environment create is designed for GitHub repositories, you clone your GitLab repo via a setup command instead.

  1. Run the following command:
Terminal window
oz environment create \
--name "my-gitlab-env" \
--docker-image <image> \
--setup-command 'git clone https://oauth2:$GITLAB_TOKEN@gitlab.com/your-group/your-repo.git' \
--setup-command 'cd your-repo && <install dependencies>'
  1. Replace the following placeholders:
    • <image> with your Docker image (for example, node:22, python:3.12, or a Warp prebuilt dev image)
    • gitlab.com/your-group/your-repo.git with your actual repository URL
    • For a self-hosted GitLab instance, replace gitlab.com with your server’s hostname.
    • The second --setup-command with any dependency install or build steps your project requires. For example, npm ci or pip install -r requirements.txt.
  1. Note the environment ID returned. You will need it in the next step.

Before connecting to integrations, verify the environment works by running a one-off agent.

  1. Run the following command, replacing <ENV_ID> with the environment ID from Step 3:
Terminal window
oz agent run-cloud --environment <ENV_ID> --prompt "Your task here"

With your environment configured, you can connect it to any Warp trigger exactly as you would with a GitHub-backed environment:

  • Slack — Tag @Oz in a message to start an agent run against your GitLab repo. See Slack.
  • Linear — Tag @Oz on an issue to kick off a workflow. See Linear.
  • Scheduled agents — Run agents on a recurring schedule. See Scheduled Agents.