← All integrations

Developer tools

Connect agents to GitLab projects and events.

Agents review merge requests, triage issues, and explain failed pipelines from their job logs, using the GitLab REST API on GitLab.com or your own instance. GitLab trigger events start an agent on pushes, merge requests, issues, comments, pipelines, jobs, deployments, releases, and other GitLab events.

5,000 free credits to start.

Agent reach

GitLab REST API

The full surface, searched at run time.

Connect with

  • API key
  • Your own OAuth app

Connect with an access token that has the api scope, or with your own GitLab OAuth app that has the api and mcp scopes. Helios adds the webhook for trigger events to projects where the token has the Maintainer role, and to a group you name where it has the Owner role. GitLab Self-Managed works too, and its triggers need GitLab 19.0 or later.

Event triggers

Yes · 5 events

Plus manual, schedule, and signed webhook.

What the agent can do

What agents do with GitLab

Helios searches the GitLab REST API at run time. The agent finds the endpoint the task needs and calls it.

  • Call GitLab REST API endpoints with your connection's permissions.
  • Open merge requests, read their diffs, and leave review comments.
  • Create, label, and close issues, and reply in their threads.
  • Read pipeline and job status, fetch a failed job's log, and retry jobs.
  • Read files, branches, tags, and commits at any ref, and download job artifacts.
  • Start a run on pushes and tags, merge request and issue changes, comments, pipeline and job status, deployments, releases, and group membership changes.

Examples

Tasks you can hand to a GitLab agent

Review every new merge request

The agent reads the diff, checks it against the project's conventions, and leaves a review comment for a person to review.

gitlab · merge_request.opened

On each new merge request into main: review the diff and comment with findings.

  1. gitlab·read the merge request and diff
  2. gitlab·read CONTRIBUTING.md and related files
  3. code·check the changed functions
  4. gitlab·post a review comment

Reviewed !318

  • One missing null check in the invoice parser
  • New endpoint has no test
  • Naming matches the project's conventions

Explain a failed pipeline

When a pipeline on main fails, the agent reads the failed job's log, compares recent changes, and files an issue with its findings.

gitlab · pipeline.updated

When a pipeline on main fails, find the cause and open an issue.

  1. gitlab·list the pipeline's failed jobs
  2. gitlab·read the job log
  3. gitlab·compare with the last passing commit
  4. gitlab·open an issue with the cause

Issue #904 opened

  • test:unit failed on a timezone assertion
  • Introduced by the commit that changed the date helper
  • Assigned to that commit's author

Answer questions in comments

When someone asks the agent a question on a merge request or issue, it looks up the answer and replies in the thread.

gitlab · comment.created

When a comment mentions the agent, answer on the same merge request or issue.

  1. gitlab·read the comment and the thread
  2. gitlab·search the code it asks about
  3. gitlab·reply in the thread

Replied on !322

  • The retry limit is set in config/jobs.yml
  • It applies to every queue except billing

Weekly merge request digest

A scheduled agent lists what merged and what is waiting for review, and posts the summary to the team.

Mondays at 9:00am

Every Monday, summarize last week's merge requests and post them to Slack.

  1. gitlab·list merged and open merge requests
  2. code·group by project and author
  3. slack·post the digest to #engineering

Week 40 digest

  • 27 merge requests merged across 4 projects
  • 6 waiting for review for more than 2 days

Event triggers

Start a run on GitLab events

Attach any of these events to a workflow and filter on the fields that matter. Manual, schedule, and signed webhook triggers work too.

EventWhat it means
merge_request.openedA merge request is opened. Filter by project, target branch, or labels.
merge_request.mergedA merge request is merged - the moment to update docs, changelogs, or tickets.
issue.openedA new issue is opened. Filter by project or labels to triage it.
pipeline.updatedA pipeline's status changes. Filter on the failed status and a branch to watch only main or release branches.
comment.createdSomeone comments on a merge request, issue, commit, or snippet.

Works with

GitLab works with the rest of your stack

One agent, one run, several services. It reads from one tool and writes to the next in the same sandbox.

FAQ

Questions, answered

Put an agent on GitLab.

Connect it once and describe the task in chat. Then reuse the prompt as a workflow on a schedule or a webhook.