Skip to content

External Status Checks: Introduce "fail" status

Proposal

After the implementation of making a status 'passed' via an external service, we are going to implement the ability to explicitly 'fail' statuses via the same external service.

Additional:

  • Remove the help text from the widget.
  • Replace , with : as a delimeter

Failed_current

Implementation plan

  1. Introduce a third status option for MergeRequest::StatusCheckResponse: failed.
  2. Modify the API endpoint for status_check_responses to accept an optional status parameter. For backward compatibility, status should default to passed if not given. (This default will be removed under #338827 (closed))
Original implementation plan
  • Add new succeeded attribute to MergeRequest::StatusCheckResponse. There is no default, but it is a required field.
    • Existing records at this point should all be migrated to be succeeded: true to preserve the behaviour of old records.
  • Add new API endpoint to allow "fail" of status checks. This should be done in a non-breaking change way. Allowing "pass" of a status check should not change.
  • Make sure API is exposing status of a status check.
Edited by Dan Jensen