sincecutoff.com
← all changes

bk build view --recursive reports failures across triggered builds

Introduced 2026-10-08 · score 0.98

HOW TO USE IT

When diagnosing a build that may have failed in a triggered child, run `bk build view <build> --recursive --json` to retrieve current hard-failed and timed-out command jobs from the build and its reachable descendants. Review `complete` and `issues`; incomplete traversal returns partial results and a nonzero exit status.

bk build view acme/my-pipeline/123 --recursive --json

WHY THIS HELPS

When diagnosing a build that may have failed in a triggered child, inspect command failures across the root build and its reachable descendants.

BEFORE THIS CHANGE

Run `bk build view` on each child build separately to find underlying failures.

REQUIREMENTS AND LIMITATIONS

  • Version: v3.61.0
  • <build> (required): Build to inspect, in `org/pipeline/number` form.
  • --recursive (required): Follow available child references and return current hard-failed (`failed`) and timed-out (`timed_out`) command jobs from the selected build and descendants. Cannot be combined with `--summary`, `--web`, or `--job-states`.
  • --json: Output JSON; JSON/YAML output contains `root_build`, `complete`, `failures`, and `issues`. `--json`, `--yaml`, and `--text` are alternative output formats.
  • read_builds (required): Token scope required for build access; pipeline read permission is also required.
  • read_build_logs: Required to follow log pointers separately.
  • Prerequisite: Authenticate the CLI with Buildkite; its README gives `bk auth login`. Build access requires `read_builds` and permission to read each pipeline.
  • Prerequisite: Use `read_build_logs` to follow log pointers separately.
  • Follows every available child reference, including passed, asynchronous, and soft-failed triggers, without filtering by build state.
  • Excludes superseded retry attempts and children of superseded trigger attempts.
  • Reports current hard-failed and timed-out command jobs; soft-failed command jobs, canceled or expired jobs, configuration-excluded (`broken`) jobs, jobs stopped by failed dependencies, and running jobs that have promised failure are excluded.
  • Uses the existing REST API and fetches each reachable build once; it does not download logs, artifacts, or annotations.
  • Requires `read_builds` and permission to read each pipeline. Following log pointers separately requires `read_build_logs`.
  • Inaccessible children, invalid child references, missing or not-yet-created child builds (except skipped or configuration-excluded triggers), and request failures produce partial output with `complete: false`, explanatory `issues`, and a nonzero exit status; accessible sibling failures are still returned.
  • `complete` describes traversal of observed current attempts, not an atomic snapshot or a guarantee that running builds have finished.
  • Builds created by scripts or API calls without a trigger-job link cannot be discovered.
  • Docs conflict: Current CLI reference page documents `bk build view` formats but does not list `--recursive`; the v3.61.0 README documents `--recursive`.

FIRST-PARTY EVIDENCE

Check the installed version and the source before using it. Entry JSON

Report a problem with this card