Flaky

List flaky tests with optional field expansion.

Returns flaky tests for the named repository. Exactly one of repository (name) or repository_id (legacy numeric ID from the Rails API era) must be supplied; omitting both returns 400.

Optional fields

By default the response is a minimal shape: id, name, suite, class, file. Pass include=field1,field2,… to expand any of:

  • disruptiveness_ratio
  • nondeterministic_negative_result_count
  • nondeterminism_first_recorded_at
  • recent_nondeterministic_commit_oid
  • recent_nondeterministic_negative_result
  • recent_nondeterministic_positive_result
  • tags
  • quarantine_date
  • quarantined_by
  • quarantine_type
  • time_consumed
  • pass_rate
  • avg_duration_ms

Unknown fields are silently dropped.

Quarantine

This endpoint returns quarantined tests by default. Pass quarantine=false to get non-quarantined flaky tests instead. The two modes are mutually exclusive — a test is either quarantined or it isn't — and together they cover every flaky test on the repository.

RequestReturns
?repository=widgetsQuarantined tests (default)
?repository=widgets&quarantine=falseNon-quarantined tests, within the reporting window

Only the literal value false selects the non-quarantined view; any other value (including 0) is treated as true, matching the legacy API. quarantined is accepted as an alias for quarantine.

Reporting window

The non-quarantined view only returns tests that were disruptive within your plan's reporting period (default 14 days). This bounds the response to currently-relevant flakes rather than every flake ever recorded.

The quarantined view is deliberately not windowed: a test quarantined a year ago is still quarantined, so it is still returned.

Per-occurrence history

Each returned id is a test (disruptor) ID that can be passed to GET /api/tests/{id}/results to fetch that test's recent disruption events (build URL, commit, failure message, timestamp) — the typical pattern for scripted triage reports: list the inventory here, then fetch history per test.

get/api/v1/flaky/tests

Request

  • Base URL: https://platform.buildpulse.io
  • URL: https://platform.buildpulse.io/api/v1/flaky/tests
  • Auth: one of:
    • API key in header Authorization
    • HTTP bearer

Query parameters

repositorystring

Repository name (case-insensitive). Required unless repository_id is supplied. Omitting both returns 400.

repository_idstring

Legacy numeric repository ID (from the Rails era). Used when migrating older integrations that didn't have repo names available at call time.

limitinteger

Page size. Clamped to [1, 100].

afterstring

Opaque pagination cursor from a previous response's metadata.after. Pass back verbatim.

includestring

Comma-separated list of optional fields to include. See description above for the allowed set.

quarantine'true' | 'false'

Which set of flaky tests to return. Defaults to true (quarantined tests only). Set to false to return non-quarantined tests from the reporting window instead.

Only the literal false selects the non-quarantined view; any other value is treated as true.

quarantined'true' | 'false'

Alias for quarantine. If both are supplied, quarantine wins.

sort'disruptivenessRatio' | 'recency'

Sort order. recency sorts by latestDisruptionAt descending.

qstring

Structured query string. See /api/repos/{owner}/{name}/tests description for the full grammar.

Response

Paginated flaky tests.

countinteger required

Changes

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