Skip to content

Simplify monitor tracking API #42816

Closed
@dcramer

Description

@dcramer

Problem Statement

Currently triggering a monitor check-in requires two calls:

-> POST .../monitors/{monitor_id}/checkins/

-> PUT .../monitors/{monitor_id}/checkins/{checkin_in}/ {"status": "ok"}

This creates a minor hurdle as it requires you to track the checkin_id returned in the first step, to publish the second step (to mark a job as finished, for example).

Solution Brainstorm

Instead we could provide a simplified API along the lines of:

-> PUT .../monitors/{monitor_id}/checkins/latest/

This request would modify the most recent unfinished check-in, meaning a few behaviors could be implemented:

  • With no checkins, this returns a 404 (same as invalid ID).
  • With no unfinished checkin, this returns a 404 (same as invalid ID).
  • With one unfinished checkin, this would modify that checkin.
  • With multiple unfinished checkins, this would modify the most recent checkin. Meaning likely the previous checkin would time out and fail.

Refs GH-42283

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions