Skip to main content
Where runs and test-entities tell you about one execution, insights aggregates across many: how many runs passed each day, how long they took, and how the test results split between passed, failed, skipped, flaky, and timed out. It answers “is this suite getting better or worse?” rather than “what broke last night?”. For fields and response details, see the API reference.
Sample output on this page uses --json. The pretty format for this command is a summary line plus a per-day table for each section, because the generic printer would collapse the nested payload. See Output formats.

insights get

Shows the project’s daily and overall run and test insights for a date range.

Required arguments

The date range

Omit both dates and you get the last 30 days. Otherwise:
  • --start-date must fall within the most recent 3 months. An older date is refused, not clamped - the command exits non-zero with the earliest date you may use.
  • --end-date in the future is clamped to today.
  • --timezone decides where a day starts and ends, and resolves the defaults. It takes an IANA name and defaults to Etc/UTC.
The response always reports the start_date and end_date actually used, so you can tell when clamping happened.

Filters

--branch, --author, and --tags narrow which runs are counted, and the test figures follow the same runs. --tags is a comma-separated list and matches runs carrying every tag listed, not any of them.
Sample output

Reading the payload

  • A quiet day keeps only its date. Aug 12, 2026 above recorded nothing, so every count is absent rather than zero. In pretty output those cells render as -.
  • Durations are milliseconds. Pretty output formats them (3.0s, 2m 56s); the JSON does not.
  • Rates are percentages, already multiplied by 100.
  • passed_tests_count includes flaky tests - a test that failed and then passed on a retry counts in both passed_tests_count and flaky_tests_count.
  • average_passing_rate and pass_percentage are the same number on a test day entry, as are average_flakiness_rate and flaky_percentage. The pair exists so the tests section reads the same way as the runs section.