Woodpecker pipeline missing timestamps for DORA metrics #57
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
Standalone — discovered while monitoring pipeline #128. Related to observability chain (#43).
Repo
ldraney/landscaping-assistantUser Story
As a developer
I want pipeline start/finish timestamps exposed via the Woodpecker API
So that I can calculate DORA deployment frequency and lead time metrics
Context
While monitoring pipeline #128 (PR #56 merge to main), noticed
started_atandfinished_atare null in the Woodpecker API response for all pipelines — both current and historical. This blocks DORA metric calculation (deployment frequency, lead time for changes). Need to investigate whether this is a Woodpecker config issue, API version issue, or missing feature.File Targets
Files the agent should modify or create:
.woodpecker.yml-- check if timestamp reporting needs configFiles the agent should NOT touch:
Acceptance Criteria
started_atandfinished_atpopulated in Woodpecker API responsesTest Expectations
list_pipelinesand verify timestamps are non-nullget_pipeline_statusand verify step-level timingConstraints
Checklist
Related
landscaping-assistant-- projectTicket Scope Review -- Board Item 1296
INVESTIGATION SUMMARY
I verified the problem statement by querying the Woodpecker API directly:
list_pipelinesforldraney/landscaping-assistant-- all three most recent pipelines (132, 133, 135) returncreated_at: nullget_pipeline_statusfor pipeline 135 --created_at,started_at, andfinished_atare all null, even though steps show meaningful statuses (success, running, pending)The null timestamps are confirmed and real. This blocks DORA metric calculation (deployment frequency, lead time) as described.
FILE TARGETS -- PROBLEM
The issue says to modify:
.woodpecker.ymlNeither of these is correct for this problem.
.woodpecker.ymldefines pipeline steps, triggers, and services. It has no control over API response timestamp fields. The current.woodpecker.yaml(note: actual filename uses.yamlextension, not.ymlas stated) is a standard pipeline definition with clone, lint, test, and build-and-push steps. Nothing in this file can influence whether the API returns timestamps.Woodpecker server configuration does not live in this repo. There is no
k8s/,helm/,deploy/, orinfrastructure/directory. The Woodpecker server is managed at the platform level, not per-repo.Root cause is likely one of:
mcp__woodpecker__list_pipelines/get_pipeline_status) is not mapping the timestamp fields from the Woodpecker API response correctly (serialization bug in the MCP adapter)createdvscreated_at, or Unix epoch vs ISO 8601)The fix almost certainly lives in the Woodpecker MCP tool source code, not in this repo.
ACCEPTANCE CRITERIA REVIEW
started_atandfinished_atin API responses" -- This is testable via the MCP tools, good.created_aton successful main-branch pushes. Lead time needs PR merge timestamps (from Forgejo, not Woodpecker). This criterion needs tightening.DEPENDENCY CHECK
SCOPE CONCERNS
landscaping-assistant. An agent picking up this ticket in this repo will have no files to change..woodpecker.ymlmodification will not fix null API timestamps. The file target should reference the MCP tool source..woodpecker.ymlbut the actual file is.woodpecker.yaml.VERDICT: REQUEST_CHANGES
Reasons to stay in backlog:
Wrong repo scope: This ticket cannot be executed by an agent working in
landscaping-assistant. The null timestamps come from the Woodpecker API/MCP layer, not from the pipeline definition. The ticket should either (a) be moved to the Woodpecker MCP tool repo, or (b) be reframed as a pure investigation ticket that identifies the root cause and files a follow-up in the correct repo.File targets are incorrect:
.woodpecker.yml(which is actually.woodpecker.yaml) has no bearing on API response timestamps. An agent would waste cycles modifying a file that cannot fix the problem.Acceptance criteria need the "where": "Populate started_at and finished_at" is the right goal, but without identifying which codebase to modify, an agent cannot execute this.
Suggested rework:
.woodpecker.ymlfrom file targets.woodpecker.yaml