Overview
OpenSRE’s GitLab integration gives the agent read access to your merge requests, commits, pipelines, and files, so it can answer questions about recent changes and failing pipelines.Prerequisites
- GitLab.com or a self-hosted GitLab instance reachable from OpenSRE
- A Personal Access Token or Project Access Token
- Scopes:
read_api(required);apionly if you enable MR write-back
Setup
Option 1: Interactive CLI
- GitLab base URL — leave as
https://gitlab.com/api/v4for GitLab.com, or change to your self-hosted instance URL (for examplehttps://gitlab.example.com/api/v4) - GitLab access token — from Credentials below
Option 2: Environment variables
gitlab_url or gitlab_token as tool arguments; those values are resolved from the integration configuration. A self-hosted instance host such as https://gitlab.example.com is normalized to https://gitlab.example.com/api/v4.
Credentials
OpenSRE supports both Personal Access Tokens and Project Access Tokens. A Project Access Token is recommended for production — it is scoped to a single project and does not depend on a user account.Personal Access Token (quickest for local use)
- In GitLab, go to your avatar → Edit profile → Access Tokens.
- Click Add new token.
- Give it a name (for example
opensre) and set an expiry date. - Select the following scopes:
read_api— required for reading MRs, commits, pipelines, and filesapi— required only if you enable MR write-back (posting findings as MR notes)
- Click Create personal access token and copy the value immediately — it is shown only once.
Project Access Token (recommended for server deployments)
- Open your GitLab project → Settings → Access Tokens.
- Click Add new token.
- Give it a name, set a role of Reporter (or Developer if write-back is needed), and select the same scopes as above.
- Click Create project access token and copy the value.
If your GitLab instance is self-hosted, make sure your OpenSRE server can reach it over the network before proceeding.
Tools
Use GitLab tools in the interactive shell
After connecting GitLab, include a GitLab project or file URL in your request. OpenSRE infers the project scope from the current message and keeps it for follow-up questions in the same session.GITLAB_PROJECT_ID, GITLAB_REF, GITLAB_FILE_PATH, and the current repository’s GitLab origin remote when the current message does not contain a URL.
Verify
Troubleshooting
Security
- Prefer a Project Access Token with Reporter for read-only access.
- Store tokens in
.envor your secret manager — not in source control.