Inspiration
Every developer knows the feeling: you open GitLab on a Monday morning and there is a backlog of unlabeled issues, a failed pipeline, two unreviewed merge requests, and no release notes for last weeks deploy. All of that admin work takes hours and none of it is actually building product. I wanted to build an agent that handles all of it autonomously so developers can focus on writing code.
What it does
GitLab DevOps Agent is an autonomous AI agent that connects directly to your GitLab repository and takes real action.
Core capabilities
- Issue triage: Scans title and description keywords to infer priority and applies labels automatically
- Pipeline diagnosis: Reads actual job logs and identifies the root cause of failures
- MR review and merge: Reviews open merge requests and merges them when ready
- Release notes: Categorizes merged MRs into sections automatically
- Issue actions: Comment, close, and assign issues via natural language
How we built it
Built on Google ADK 2.0 with Gemini 2.5 Flash as the reasoning engine. Each DevOps capability is implemented as a Python tool function that Gemini calls autonomously based on the users intent.
Challenges we ran into
The biggest challenge was routing the agent through Vertex AI. New Google Cloud projects default to express mode which restricts model access. Resolving this required upgrading the billing account and correctly configuring the ADK environment variables.
The second challenge was designing safe write operations. Tools like merge_merge_request and auto_triage_all_issues required guards to prevent unintended actions.
Accomplishments that we're proud of
The auto_triage_all_issues feature is the standout accomplishment. A single natural language command triggers the agent to scan every open issue, infer priority from keywords, apply labels, and post a triage comment on each one. What would take a developer 20 minutes of manual clicking happens in seconds.
What we learned
Building with Google ADK 2.0 taught us how agentic reasoning differs from standard LLM prompting. The model does not just generate text, it plans a sequence of tool calls to accomplish a goal.
The line between review and action is what separates a useful agent from a chatbot. Any LLM can summarize a merge request. An agent that actually merges it is a different product entirely.
What's next for GitLab DevOps Agent
- Deploy to Google Cloud Run for a live hosted version
- Add Slack notifications when the agent takes action
- Support multi-repo workflows across an entire organization
- Build a webhook integration so the agent automatically triages new issues as they are created
Built With
- fastapi
- gemini-2.5-flash
- gitlab-api
- google-adk-2.0
- google-cloud
- python
- python-gitlab
- uvicorn
- vertex-ai
Log in or sign up for Devpost to join the conversation.