Skip to content

The time the estimates of the executed cases add up to

GET
/v1/analytics/saved-time
curl --request GET \
--url 'https://beta-api.plune.ai/v1/analytics/saved-time?by=run&format=json' \
--header 'Authorization: Bearer <token>'

The saved time report (#1882, BH-D2). The executed results of the period: the current result of a case in a run, status passed, failed or broken; blocked, skipped and one a retest replaced are not counted. Each is weighed with the estimate the case has now, not one frozen at the run. estimatedSeconds: their sum. savedSeconds: those executed by a machine (a reporter’s result, no executedBy) that passed. manualSeconds: those a person marked. notEstimated: executed cases nobody estimated, counted here and never as 0 seconds in a sum. by=run (default) gives a row per run, newest first; by=suite a row per suite of the case, the longest estimate first (name: null is cases in no suite). Up to 200 rows, truncated when there are more; totals always cover everything. The period, the projects and the filters are those of GET /v1/analytics; 120 requests a minute per caller.

by
string
default: run
Allowed values: run suite

How the rows are grouped.

format
string
default: json
Allowed values: json xlsx

xlsx answers the same report as a workbook (#1909): a sheet Saved time, a row per run or suite and a Total row, durations in minutes as numbers, up to 10 000 rows, a note row when cut. Any other value is a 400.

from
string format: date-time

The start of the period, inclusive — ISO 8601 with a time zone; the started_at of the runs.

to
string format: date-time

The end of the period, inclusive, as from.

projects
Array<string>
<= 100 items

Project ids, comma-separated — as on GET /v1/analytics.

labels
Array<string>

Run labels. Repeat for any-of.

tags
Array<string>

Case tags, verbatim and without @. Repeat for any-of.

environments
Array<string>

Run environments. Repeat for any-of.

executedBy
Array<string>

People, by userId — comma-separated or repeated.

suite
string

A suite, or a folder with everything beneath it — only with exactly one project in the request.

The totals and the rows; with format=xlsx the workbook

string format: binary

by that is not run or suite, or a filter GET /v1/analytics would refuse

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}

No / invalid token or session

A project you are not a member of or one in the bin — the same answer as an id nobody has

Media type application/json
object
error
required
string
Example
{
"error": "not found"
}

Rate-limited: the per-route throttle, or the per-minute request limit of the plan an API token counts by (#1442; the body names the plan, #2092). Retry-After carries the seconds until the window rolls over.

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}
Retry-After
integer

Seconds until the window rolls over