Pipeline failure data for CFR/MTTR #4
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/woodpecker-mcp#4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
New issue — created as part of DORA measurement expansion (2026-06-13).
Repo
ldraney/woodpecker-mcpUser Story
As an AI agent
I want to query pipeline failure rates and recent failures per repo
So that I can calculate CFR and MTTR for DORA reporting
What
Add an MCP tool that returns pipeline failure rate and recent failures per repo, enabling CFR and MTTR calculation from the agent side.
Why
woodpecker-mcp exposes pipeline tools but does not surface failure correlation data in a DORA-friendly way. Agents need structured failure data to calculate CFR and MTTR without scraping raw pipeline lists.
Context
The existing pipeline tools return individual pipeline status but do not aggregate success/failure counts or provide time-windowed failure rates. A dedicated tool simplifies DORA metric calculation.
File Targets
src/woodpecker_mcp/tools/dora.py— new tool module for DORA query tools (or equivalent path)src/woodpecker_mcp/server.py— register new toolstests/test_dora_tools.py— tests for new toolsFeature Flag
None required — new MCP tool is additive.
Acceptance Criteria
Test Expectations
Constraints
Checklist
Related
dora-metrics— project this affectsIssue #4 Template Review
TEMPLATE CONFORMANCE
### Typepresent and valid (Feature)### Lineagepresent and non-empty### Repopresent and correct (ldraney/woodpecker-mcp)### User Storypresent, follows As/I want/So that format### Contextpresent and non-empty### File Targetspresent with specific paths### Feature Flagpresent ("None required" -- acceptable for additive MCP tool)### Acceptance Criteriapresent with checkboxes### Test Expectationspresent with checkboxes### Constraintspresent and non-empty### Checklistpresent with standard items### RelatedpresentExtra sections
### Whatand### Whyare present -- not in the template but harmless. They duplicate information already in Context/User Story but don't cause confusion.CONTENT QUALITY
File Targets -- validated against repo tree:
src/woodpecker_mcp/tools/dora.py(new) -- Follows the existingtools/{domain}.pypattern. Consistent withcrons.py,pipelines.py,repos.py, etc.src/woodpecker_mcp/server.py(modify) -- Exists. Correct touch point for registering new tools.tests/test_dora_tools.py(new) -- Path works but breaks the repo naming convention. Existing tests aretest_crons.py,test_pipelines.py,test_repos.py, etc. (no_toolssuffix). Should betests/test_dora.pyfor consistency.Acceptance Criteria assessment:
Test Expectations assessment:
Scope assessment:
Dependencies:
pipelines.pytool already calls these, so the dependency is already satisfied.BLOCKERS
None.
NITS
tests/test_dora_tools.pyshould betests/test_dora.pyto match repo convention (test_{domain}.pywithout_toolssuffix).### Whatand### Whyduplicate### User Storyand### Context. Not harmful but adds noise -- consider removing for template cleanliness.VERDICT: APPROVED