Inspiration
Every developer has lost hours staring at a failing CI/CD pipeline. The logs are cryptic, the error messages are vague, and the root cause is buried somewhere in hundreds of lines of output. I built PipelineIQ to eliminate that friction entirely.
What It Does
PipelineIQ is a GitLab Duo agent that automatically diagnoses CI/CD pipeline failures.
When a pipeline fails, simply mention @ai-pipelineiq-gitlab-ai-hackathon in an issue
comment with the pipeline URL. The agent immediately:
- Fetches the failed job logs via the GitLab API
- Sends them to Claude (Anthropic) for root cause analysis
- Posts a structured diagnosis with specific fix recommendations directly in your workflow
No manual log reading. No Stack Overflow rabbit holes. Just answers.
How I Built It
PipelineIQ has two layers:
GitLab Duo Agent Platform — A flow configuration that gives the agent a bot identity
(@ai-pipelineiq-gitlab-ai-hackathon). When mentioned in an issue or MR comment, it
triggers automatically and uses built-in tools like get_pipeline_failing_jobs and
get_job_logs to fetch real pipeline data.
FastAPI Webhook Backend — A Python backend that listens for GitLab pipeline failure webhooks, fetches job logs via the GitLab REST API, sends them to Claude for analysis, and posts the diagnosis as a commit comment automatically — no human trigger required.
Tech stack: Python, FastAPI, Anthropic Claude API, GitLab Duo Agent Platform, httpx
Challenges
- Timeouts — GitLab webhooks have a short timeout window. The fix was using FastAPI's
BackgroundTasksto return200 OKimmediately and process the Claude API call async. - GitLab Duo Agent Platform — Completely new territory. Learning the flow YAML schema, validating tool names against the catalog, and understanding the trigger mechanism all took iteration.
- Tool validation — The agent platform has strict schema validation. Tools like
ci_job_outputdon't exist — you have to use exact names from the tool catalog.
What I Learned
- How to build and deploy a GitLab Duo flow from scratch
- How to integrate Claude into a real developer workflow as an action-taking agent, not just a chatbot
- The importance of async design in webhook-driven architectures
What's Next
- Auto-open a draft merge request with the suggested fix applied
- Support for multi-stage pipeline analysis
- Slack/email notification with the diagnosis summary ## Challenges we ran into
Accomplishments that I'm proud of
Building a fully working AI agent that takes real action — not just chat. PipelineIQ triggers on actual pipeline failures, fetches real logs, calls Claude, and posts a structured diagnosis with fix recommendations in under 30 seconds. Getting the GitLab Duo Agent Platform flow working end-to-end — from YAML config to live bot identity to issue comment trigger — was a major milestone, especially having never used the platform before.
What we learned
- How to build and deploy a GitLab Duo flow from scratch with no prior experience
- How to design async webhook architectures — returning 200 OK immediately and processing heavy API calls in the background using FastAPI BackgroundTasks
- How strict the GitLab Duo Agent Platform schema validation is — tool names must match the catalog exactly or the pipeline fails
- How powerful Claude is as an action-taking agent when given real context like raw CI logs — the diagnoses it produces are genuinely useful and actionable
What's next for PipelineIQ
- Auto-fix MRs — automatically open a draft merge request with the suggested fix already applied, not just recommended
- Pipeline history analysis — detect recurring failures across multiple pipelines and flag systemic issues
- Slack and email notifications — push the diagnosis summary to the team the moment a pipeline fails
- Multi-stage support — analyze dependencies between stages to catch cascading failures and identify the true root cause across complex pipelines
- Custom fix rules — let teams define their own remediation playbooks that Claude incorporates into its recommendations
Built With
- anthropic-claude-api
- fastapi
- gitlab-duo-agent-platform
- gitlab-rest-api
- httpx
- ngrok
- python
- uvicorn
Log in or sign up for Devpost to join the conversation.