rooster

Record Issue Build Heartbeat

tools/rooster_worker/drain.py calls this every minute for every claim it is holding, from the moment it takes one until the outcome is recorded -- through the build, the CI wait, the merge and the deploy.

It is the word issues_service.release_stalled_builds measures silence from. Without it that reaper had only the claim's own age, and a build still inside its CI wait is routinely older than the 55-minute window while working perfectly -- so it was requeued mid-flight and the machinery was blamed for it (ISS-329). See issues_service.record_build_heartbeat for the full contract: it stamps one column and changes nothing else, spends no attempt, and files nothing.

NEVER 404s, DELIBERATELY, and takes no body. A heartbeat is the thing that must not be able to end a build: an issue somebody else has already moved (or one this stamp cannot find at all) comes back held: false, which is the drain's cue that the work it is doing is no longer claimed by it -- not an error to raise at a loop whose only other option is to die holding the claim.

post/api/rooster/issues/{issue_id}/build-heartbeat

Request

  • Base URL: https://api.pigeonly.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.pigeonly.com/api/rooster/issues/{issue_id}/build-heartbeat
  • Auth: none declared

Path parameters

issue_idstring uuid required

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.