Response object with all test events matching the request and pagination information.
Expand All
フィールド
種類
説明
data
[object]
Array of events matching the request.
attributes
object
JSON object containing all event attributes and their associated values.
attributes
object
JSON object of attributes from CI Visibility test events.
tags
[string]
Array of tags associated with your event.
test_level
enum
Test run level.
Allowed enum values: session,module,suite,test
id
string
Unique ID of the event.
type
enum
Type of the event.
Allowed enum values: citest
links
object
Links attributes.
next
string
Link for the next set of results. The request can also be made using the
POST endpoint.
meta
object
The metadata associated with a request.
elapsed
int64
The time elapsed in milliseconds.
page
object
Paging attributes.
after
string
The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of page[cursor].
request_id
string
The identifier of the request.
status
enum
The status of the response.
Allowed enum values: done,timeout
warnings
[object]
A list of warnings (non-fatal errors) encountered. Partial results may return if
warnings are present in the response.
code
string
A unique code for this type of warning.
detail
string
A detailed explanation of this specific warning.
title
string
A short human-readable summary of the warning.
{"data":[{"attributes":{"attributes":{"customAttribute":123,"duration":2345},"tags":["team:A"],"test_level":"test"},"id":"AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA","type":"citest"}],"links":{"next":"https://app.datadoghq.com/api/v2/ci/tests/events?filter[query]=foo\u0026page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="},"meta":{"elapsed":132,"page":{"after":"eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="},"request_id":"MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR","status":"done","warnings":[{"code":"unknown_index","detail":"indexes: foo, bar","title":"One or several indexes are missing or invalid, results hold data from the other indexes"}]}}
"""
Get a list of tests events returns "OK" response
"""fromdatetimeimportdatetimefromdateutil.relativedeltaimportrelativedeltafromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.ci_visibility_tests_apiimportCIVisibilityTestsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=CIVisibilityTestsApi(api_client)response=api_instance.list_ci_app_test_events(filter_query="@test.service:web-ui-tests",filter_from=(datetime.now()+relativedelta(seconds=-30)),filter_to=datetime.now(),page_limit=5,)print(response)
# Get a list of tests events returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::CIVisibilityTestsAPI.newopts={filter_query:"@test.service:web-ui-tests",filter_from:(Time.now+-30),filter_to:Time.now,page_limit:5,}papi_instance.list_ci_app_test_events(opts)
// Get a list of tests events returns "OK" response
packagemainimport("context""encoding/json""fmt""os""time""github.com/DataDog/datadog-api-client-go/v2/api/datadog""github.com/DataDog/datadog-api-client-go/v2/api/datadogV2")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewCIVisibilityTestsApi(apiClient)resp,r,err:=api.ListCIAppTestEvents(ctx,*datadogV2.NewListCIAppTestEventsOptionalParameters().WithFilterQuery("@test.service:web-ui-tests").WithFilterFrom(time.Now().Add(time.Second*-30)).WithFilterTo(time.Now()).WithPageLimit(5))iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `CIVisibilityTestsApi.ListCIAppTestEvents`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `CIVisibilityTestsApi.ListCIAppTestEvents`:\n%s\n",responseContent)}
// Get a list of tests events returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.CiVisibilityTestsApi;importcom.datadog.api.client.v2.api.CiVisibilityTestsApi.ListCIAppTestEventsOptionalParameters;importcom.datadog.api.client.v2.model.CIAppTestEventsResponse;importjava.time.OffsetDateTime;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();CiVisibilityTestsApiapiInstance=newCiVisibilityTestsApi(defaultClient);try{CIAppTestEventsResponseresult=apiInstance.listCIAppTestEvents(newListCIAppTestEventsOptionalParameters().filterQuery("@test.service:web-ui-tests").filterFrom(OffsetDateTime.now().plusSeconds(-30)).filterTo(OffsetDateTime.now()).pageLimit(5));System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling CiVisibilityTestsApi#listCIAppTestEvents");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get a list of tests events returns "OK" response
usechrono::{DateTime,Utc};usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_ci_visibility_tests::CIVisibilityTestsAPI;usedatadog_api_client::datadogV2::api_ci_visibility_tests::ListCIAppTestEventsOptionalParams;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=CIVisibilityTestsAPI::with_config(configuration);letresp=api.list_ci_app_test_events(ListCIAppTestEventsOptionalParams::default().filter_query("@test.service:web-ui-tests".to_string()).filter_from(DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00").expect("Failed to parse datetime").with_timezone(&Utc),).filter_to(DateTime::parse_from_rfc3339("2021-11-11T11:11:11+00:00").expect("Failed to parse datetime").with_timezone(&Utc),).page_limit(5),).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a list of tests events returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.CIVisibilityTestsApi(configuration);constparams: v2.CIVisibilityTestsApiListCIAppTestEventsRequest={filterQuery:"@test.service:web-ui-tests",filterFrom: newDate(newDate().getTime()+-30*1000),filterTo: newDate(),pageLimit: 5,};apiInstance.listCIAppTestEvents(params).then((data: v2.CIAppTestEventsResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
The minimum time for the requested events; supports date, math, and regular timestamps (in milliseconds).
default: now-15m
query
string
The search query following the CI Visibility Explorer search syntax.
default: *
to
string
The maximum time for the requested events, supports date, math, and regular timestamps (in milliseconds).
default: now
options
object
Global query options that are used during the query.
Only supply timezone or time offset, not both. Otherwise, the query fails.
time_offset
int64
The time offset (in seconds) to apply to the query.
timezone
string
The timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York).
default: UTC
page
object
Paging attributes for listing events.
cursor
string
List following results with a cursor provided in the previous query.
limit
int32
Maximum number of events in the response.
default: 10
sort
enum
Sort parameters when querying events.
Allowed enum values: timestamp,-timestamp
{"filter":{"from":"now-15m","query":"@test.service:web-ui-tests AND @test.status:skip","to":"now"},"options":{"timezone":"GMT"},"page":{"limit":25},"sort":"timestamp"}
{"filter":{"from":"now-15m","query":"@test.status:pass AND -@language:python","to":"now"},"page":{"limit":2},"sort":"timestamp"}
Response object with all test events matching the request and pagination information.
Expand All
フィールド
種類
説明
data
[object]
Array of events matching the request.
attributes
object
JSON object containing all event attributes and their associated values.
attributes
object
JSON object of attributes from CI Visibility test events.
tags
[string]
Array of tags associated with your event.
test_level
enum
Test run level.
Allowed enum values: session,module,suite,test
id
string
Unique ID of the event.
type
enum
Type of the event.
Allowed enum values: citest
links
object
Links attributes.
next
string
Link for the next set of results. The request can also be made using the
POST endpoint.
meta
object
The metadata associated with a request.
elapsed
int64
The time elapsed in milliseconds.
page
object
Paging attributes.
after
string
The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of page[cursor].
request_id
string
The identifier of the request.
status
enum
The status of the response.
Allowed enum values: done,timeout
warnings
[object]
A list of warnings (non-fatal errors) encountered. Partial results may return if
warnings are present in the response.
code
string
A unique code for this type of warning.
detail
string
A detailed explanation of this specific warning.
title
string
A short human-readable summary of the warning.
{"data":[{"attributes":{"attributes":{"customAttribute":123,"duration":2345},"tags":["team:A"],"test_level":"test"},"id":"AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA","type":"citest"}],"links":{"next":"https://app.datadoghq.com/api/v2/ci/tests/events?filter[query]=foo\u0026page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="},"meta":{"elapsed":132,"page":{"after":"eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="},"request_id":"MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR","status":"done","warnings":[{"code":"unknown_index","detail":"indexes: foo, bar","title":"One or several indexes are missing or invalid, results hold data from the other indexes"}]}}
// Search tests events returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.CiVisibilityTestsApi;importcom.datadog.api.client.v2.api.CiVisibilityTestsApi.SearchCIAppTestEventsOptionalParameters;importcom.datadog.api.client.v2.model.CIAppQueryOptions;importcom.datadog.api.client.v2.model.CIAppQueryPageOptions;importcom.datadog.api.client.v2.model.CIAppSort;importcom.datadog.api.client.v2.model.CIAppTestEventsRequest;importcom.datadog.api.client.v2.model.CIAppTestEventsResponse;importcom.datadog.api.client.v2.model.CIAppTestsQueryFilter;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();CiVisibilityTestsApiapiInstance=newCiVisibilityTestsApi(defaultClient);CIAppTestEventsRequestbody=newCIAppTestEventsRequest().filter(newCIAppTestsQueryFilter().from("now-15m").query("@test.service:web-ui-tests AND @test.status:skip").to("now")).options(newCIAppQueryOptions().timezone("GMT")).page(newCIAppQueryPageOptions().limit(25)).sort(CIAppSort.TIMESTAMP_ASCENDING);try{CIAppTestEventsResponseresult=apiInstance.searchCIAppTestEvents(newSearchCIAppTestEventsOptionalParameters().body(body));System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling CiVisibilityTestsApi#searchCIAppTestEvents");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Search tests events returns "OK" response with paginationimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.PaginationIterable;importcom.datadog.api.client.v2.api.CiVisibilityTestsApi;importcom.datadog.api.client.v2.api.CiVisibilityTestsApi.SearchCIAppTestEventsOptionalParameters;importcom.datadog.api.client.v2.model.CIAppQueryPageOptions;importcom.datadog.api.client.v2.model.CIAppSort;importcom.datadog.api.client.v2.model.CIAppTestEvent;importcom.datadog.api.client.v2.model.CIAppTestEventsRequest;importcom.datadog.api.client.v2.model.CIAppTestsQueryFilter;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();CiVisibilityTestsApiapiInstance=newCiVisibilityTestsApi(defaultClient);CIAppTestEventsRequestbody=newCIAppTestEventsRequest().filter(newCIAppTestsQueryFilter().from("now-15m").query("@test.status:pass AND -@language:python").to("now")).page(newCIAppQueryPageOptions().limit(2)).sort(CIAppSort.TIMESTAMP_ASCENDING);try{PaginationIterable<CIAppTestEvent>iterable=apiInstance.searchCIAppTestEventsWithPagination(newSearchCIAppTestEventsOptionalParameters().body(body));for(CIAppTestEventitem:iterable){System.out.println(item);}}catch(RuntimeExceptione){System.err.println("Exception when calling CiVisibilityTestsApi#searchCIAppTestEventsWithPagination");System.err.println("Reason: "+e.getMessage());e.printStackTrace();}}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Search tests events returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.CIVisibilityTestsApi(configuration);constparams: v2.CIVisibilityTestsApiSearchCIAppTestEventsRequest={body:{filter:{from:"now-15m",query:"@test.service:web-ui-tests AND @test.status:skip",to:"now",},options:{timezone:"GMT",},page:{limit: 25,},sort:"timestamp",},};apiInstance.searchCIAppTestEvents(params).then((data: v2.CIAppTestEventsResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
/**
* Search tests events returns "OK" response with pagination
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.CIVisibilityTestsApi(configuration);constparams: v2.CIVisibilityTestsApiSearchCIAppTestEventsRequest={body:{filter:{from:"now-15m",query:"@test.status:pass AND -@language:python",to:"now",},page:{limit: 2,},sort:"timestamp",},};(async()=>{try{forawait(constitemofapiInstance.searchCIAppTestEventsWithPagination(params)){console.log(item);}}catch(error){console.error(error);}})();
The API endpoint to aggregate CI Visibility test events into buckets of computed metrics and timeseries.
This endpoint requires the ci_visibility_read authorization scope.
The list of metrics or timeseries to compute for the retrieved buckets.
aggregation [required]
enum
An aggregation function.
Allowed enum values: count,cardinality,pc75,pc90,pc95,pc98,pc99,sum,min,max,avg,median,latest,earliest,most_frequent,delta
interval
string
The time buckets' size (only used for type=timeseries)
Defaults to a resolution of 150 points.
metric
string
The metric to use.
type
enum
The type of compute.
Allowed enum values: timeseries,total
default: total
filter
object
The search and filter query settings.
from
string
The minimum time for the requested events; supports date, math, and regular timestamps (in milliseconds).
default: now-15m
query
string
The search query following the CI Visibility Explorer search syntax.
default: *
to
string
The maximum time for the requested events, supports date, math, and regular timestamps (in milliseconds).
default: now
group_by
[object]
The rules for the group-by.
facet [required]
string
The name of the facet to use (required).
histogram
object
Used to perform a histogram computation (only for measure facets).
At most, 100 buckets are allowed, the number of buckets is (max - min)/interval.
interval [required]
double
The bin size of the histogram buckets.
max [required]
double
The maximum value for the measure used in the histogram
(values greater than this one are filtered out).
min [required]
double
The minimum value for the measure used in the histogram
(values smaller than this one are filtered out).
limit
int64
The maximum buckets to return for this group-by.
default: 10
missing
<oneOf>
The value to use for logs that don't have the facet used to group-by.
Option 1
string
The missing value to use if there is a string valued facet.
Option 2
double
The missing value to use if there is a number valued facet.
sort
object
A sort rule. The aggregation field is required when type is measure.
aggregation
enum
An aggregation function.
Allowed enum values: count,cardinality,pc75,pc90,pc95,pc98,pc99,sum,min,max,avg,median,latest,earliest,most_frequent,delta
metric
string
The metric to sort by (only used for type=measure).
order
enum
The order to use, ascending or descending.
Allowed enum values: asc,desc
type
enum
The type of sorting algorithm.
Allowed enum values: alphabetical,measure
default: alphabetical
total
<oneOf>
A resulting object to put the given computes in over all the matching records.
Option 1
boolean
If set to true, creates an additional bucket labeled "$facet_total".
Option 2
string
A string to use as the key value for the total bucket.
Option 3
double
A number to use as the key value for the total bucket.
options
object
Global query options that are used during the query.
Only supply timezone or time offset, not both. Otherwise, the query fails.
time_offset
int64
The time offset (in seconds) to apply to the query.
timezone
string
The timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York).
default: UTC
{"compute":[{"aggregation":"count","metric":"@test.is_flaky","type":"total"}],"filter":{"from":"now-15m","query":"@language:(python OR go)","to":"now"},"group_by":[{"facet":"@git.branch","limit":10,"sort":{"order":"asc"},"total":false}],"options":{"timezone":"GMT"}}
The response object for the test events aggregate API endpoint.
Expand All
フィールド
種類
説明
data
object
The query results.
buckets
[object]
The list of matching buckets, one item per bucket.
by
object
The key-value pairs for each group-by.
<any-key>
The values for each group-by.
computes
object
A map of the metric name to value for regular compute, or a list of values for a timeseries.
<any-key>
<oneOf>
A bucket value, can either be a timeseries or a single value.
Option 1
string
A single string value.
Option 2
double
A single number value.
Option 3
[object]
A timeseries array.
time
date-time
The time value for this point.
value
double
The value for this point.
links
object
Links attributes.
next
string
Link for the next set of results. The request can also be made using the
POST endpoint.
meta
object
The metadata associated with a request.
elapsed
int64
The time elapsed in milliseconds.
page
object
Paging attributes.
after
string
The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of page[cursor].
request_id
string
The identifier of the request.
status
enum
The status of the response.
Allowed enum values: done,timeout
warnings
[object]
A list of warnings (non-fatal errors) encountered. Partial results may return if
warnings are present in the response.
code
string
A unique code for this type of warning.
detail
string
A detailed explanation of this specific warning.
title
string
A short human-readable summary of the warning.
{"data":{"buckets":[{"by":{"<any-key>":"undefined"},"computes":{"<any-key>":{"description":"undefined","type":"undefined"}}}]},"links":{"next":"https://app.datadoghq.com/api/v2/ci/tests/events?filter[query]=foo\u0026page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="},"meta":{"elapsed":132,"page":{"after":"eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="},"request_id":"MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR","status":"done","warnings":[{"code":"unknown_index","detail":"indexes: foo, bar","title":"One or several indexes are missing or invalid, results hold data from the other indexes"}]}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Aggregate tests events returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.CIVisibilityTestsApi(configuration);constparams: v2.CIVisibilityTestsApiAggregateCIAppTestEventsRequest={body:{compute:[{aggregation:"count",metric:"@test.is_flaky",type:"total",},],filter:{from:"now-15m",query:"@language:(python OR go)",to:"now",},groupBy:[{facet:"@git.branch",limit: 10,sort:{order:"asc",},total: false,},],options:{timezone:"GMT",},},};apiInstance.aggregateCIAppTestEvents(params).then((data: v2.CIAppTestsAnalyticsAggregateResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));