GitLab Integration
Overview
GitLab integration for investigating code changes during Root Cause Analysis and managing code fixes. Connected via org-level Group Access Token. Instance: {base_url}
Instructions
Single Tool — Multiple Actions
All GitLab operations use the gitlab tool with an action parameter:
| Action | Purpose | Required Params |
|---|---|---|
list_projects |
Discover connected projects | — |
deployment_check |
CI/CD pipelines | repo (or auto) |
commits |
Recent commits + correlation | repo (or auto) |
diff |
File changes for a commit | commit_sha |
merge_requests |
Merged MRs in time window | repo (or auto) |
suggest_fix |
Propose a code fix | file_path, suggested_content, fix_description, root_cause_summary |
apply_fix |
Create MR from suggestion | suggestion_id |
commit_terraform |
Push Terraform files | repo, commit_message |
RCA Investigation Workflow
Code changes are the most common root cause of incidents. Investigate GitLab BEFORE deep-diving into infrastructure.
Step 1 — Discover projects:
gitlab(action='list_projects') — returns all connected projects.
Step 2 — Check pipelines (did something just ship?):
gitlab(action='deployment_check', repo='namespace/project', incident_time='<ISO8601>')
Finds failed pipelines and pipelines completed within 2 hours of the incident.
Step 3 — Check commits (what code changed?):
gitlab(action='commits', repo='namespace/project', incident_time='<ISO8601>')
Lists commits with automatic suspicious-commit flagging.
Step 4 — Inspect suspicious changes:
gitlab(action='diff', repo='namespace/project', commit_sha='<sha>')
Shows file-level additions/deletions. Prioritize config/infra files.
Step 5 — Check merged MRs:
gitlab(action='merge_requests', repo='namespace/project', incident_time='<ISO8601>')
Finds MRs merged in the time window; recently merged MRs are flagged.
Post-RCA Remediation (after user approval)
These actions are NOT part of the RCA investigation. Only use after presenting findings and receiving user approval.
Suggest fix:
gitlab(action='suggest_fix', file_path=..., suggested_content=..., fix_description=..., root_cause_summary=...)
Suggests a fix stored for user review. User can approve, then use action='apply_fix'.
Apply fix (requires user approval):
gitlab(action='apply_fix', suggestion_id=<id>)
Creates a branch and Merge Request with the approved fix.
Important Rules
- Pass
incident_timeon every RCA call for automatic time correlation. - Use
time_window_hours(default 24) to widen/narrow the search. - If only one project connected,
repoauto-resolves. If multiple, passrepo=explicitly. - Projects are REMOTE — use the gitlab tool to read, never local shell commands.
- Look for: config changes, k8s manifests, Terraform, dependency updates.