Search or aggregate your CI Visibility pipeline events and send them to your Datadog site over HTTP. See the CI Pipeline Visibility in Datadog page for more information.
Send your pipeline event to your Datadog platform over HTTP. For details about how pipeline executions are modeled and what execution types we support, see Pipeline Data Model And Execution Types.
Pipeline events can be submitted with a timestamp that is up to 18 hours in the past.
Details of the top level pipeline, build, or workflow of your CI.
Option 1
object
Details of a finished pipeline.
end [required]
date-time
Time when the pipeline run finished. It cannot be older than 18 hours in the past from the current time. The time format must be RFC3339.
error
object
Contains information of the CI error.
domain
enum
Error category used to differentiate between issues related to the developer or provider environments.
Allowed enum values: provider,user,unknown
message
string
Error message.
stack
string
The stack trace of the reported errors.
type
string
Short description of the error type.
git
object
If pipelines are triggered due to actions to a Git repository, then all payloads must contain this.
Note that either tag or branch has to be provided, but not both.
author_email [required]
string
The commit author email.
author_name
string
The commit author name.
author_time
string
The commit author timestamp in RFC3339 format.
branch
string
The branch name (if a tag use the tag parameter).
commit_time
string
The commit timestamp in RFC3339 format.
committer_email
string
The committer email.
committer_name
string
The committer name.
default_branch
string
The Git repository's default branch.
message
string
The commit message.
repository_url [required]
string
The URL of the repository.
sha [required]
string
The git commit SHA.
tag
string
The tag name (if a branch use the branch parameter).
is_manual
boolean
Whether or not the pipeline was triggered manually by the user.
is_resumed
boolean
Whether or not the pipeline was resumed after being blocked.
level [required]
enum
Used to distinguish between pipelines, stages, jobs, and steps.
Allowed enum values: pipeline
default: pipeline
metrics
[string]
A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]
string
Name of the pipeline. All pipeline runs for the builds should have the same name.
node
object
Contains information of the host running the pipeline, stage, job, or step.
hostname
string
FQDN of the host.
labels
[string]
A list of labels used to select or identify the node.
name
string
Name for the host.
workspace
string
The path where the code is checked out.
parameters
object
A map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>
string
parent_pipeline
object
If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.
id [required]
string
UUID of a pipeline.
url
string
The URL to look at the pipeline in the CI provider UI.
partial_retry [required]
boolean
Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one
which only runs a subset of the original jobs.
pipeline_id
string
Any ID used in the provider to identify the pipeline run even if it is not unique across retries.
If the pipeline_id is unique, then both unique_id and pipeline_id can be set to the same value.
previous_attempt
object
If the pipeline is a retry, this should contain the details of the previous attempt.
id [required]
string
UUID of a pipeline.
url
string
The URL to look at the pipeline in the CI provider UI.
queue_time
int64
The queue time in milliseconds, if applicable.
start [required]
date-time
Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.
status [required]
enum
The final status of the pipeline.
Allowed enum values: success,error,canceled,skipped,blocked
tags
[string]
A list of user-defined tags. The tags must follow the key:value pattern.
unique_id [required]
string
UUID of the pipeline run. The ID has to be unique across retries and pipelines,
including partial retries.
url [required]
string
The URL to look at the pipeline in the CI provider UI.
Option 2
object
Details of a running pipeline.
error
object
Contains information of the CI error.
domain
enum
Error category used to differentiate between issues related to the developer or provider environments.
Allowed enum values: provider,user,unknown
message
string
Error message.
stack
string
The stack trace of the reported errors.
type
string
Short description of the error type.
git
object
If pipelines are triggered due to actions to a Git repository, then all payloads must contain this.
Note that either tag or branch has to be provided, but not both.
author_email [required]
string
The commit author email.
author_name
string
The commit author name.
author_time
string
The commit author timestamp in RFC3339 format.
branch
string
The branch name (if a tag use the tag parameter).
commit_time
string
The commit timestamp in RFC3339 format.
committer_email
string
The committer email.
committer_name
string
The committer name.
default_branch
string
The Git repository's default branch.
message
string
The commit message.
repository_url [required]
string
The URL of the repository.
sha [required]
string
The git commit SHA.
tag
string
The tag name (if a branch use the branch parameter).
is_manual
boolean
Whether or not the pipeline was triggered manually by the user.
is_resumed
boolean
Whether or not the pipeline was resumed after being blocked.
level [required]
enum
Used to distinguish between pipelines, stages, jobs, and steps.
Allowed enum values: pipeline
default: pipeline
metrics
[string]
A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]
string
Name of the pipeline. All pipeline runs for the builds should have the same name.
node
object
Contains information of the host running the pipeline, stage, job, or step.
hostname
string
FQDN of the host.
labels
[string]
A list of labels used to select or identify the node.
name
string
Name for the host.
workspace
string
The path where the code is checked out.
parameters
object
A map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>
string
parent_pipeline
object
If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.
id [required]
string
UUID of a pipeline.
url
string
The URL to look at the pipeline in the CI provider UI.
partial_retry [required]
boolean
Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one
which only runs a subset of the original jobs.
pipeline_id
string
Any ID used in the provider to identify the pipeline run even if it is not unique across retries.
If the pipeline_id is unique, then both unique_id and pipeline_id can be set to the same value.
previous_attempt
object
If the pipeline is a retry, this should contain the details of the previous attempt.
id [required]
string
UUID of a pipeline.
url
string
The URL to look at the pipeline in the CI provider UI.
queue_time
int64
The queue time in milliseconds, if applicable.
start [required]
date-time
Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.
status [required]
enum
The in progress status of the pipeline.
Allowed enum values: running
tags
[string]
A list of user-defined tags. The tags must follow the key:value pattern.
unique_id [required]
string
UUID of the pipeline run. The ID has to be the same as the finished pipeline.
url [required]
string
The URL to look at the pipeline in the CI provider UI.
Option 2
object
Details of a CI stage.
dependencies
[string]
A list of stage IDs that this stage depends on.
end [required]
date-time
Time when the stage run finished. The time format must be RFC3339.
error
object
Contains information of the CI error.
domain
enum
Error category used to differentiate between issues related to the developer or provider environments.
Allowed enum values: provider,user,unknown
message
string
Error message.
stack
string
The stack trace of the reported errors.
type
string
Short description of the error type.
git
object
If pipelines are triggered due to actions to a Git repository, then all payloads must contain this.
Note that either tag or branch has to be provided, but not both.
author_email [required]
string
The commit author email.
author_name
string
The commit author name.
author_time
string
The commit author timestamp in RFC3339 format.
branch
string
The branch name (if a tag use the tag parameter).
commit_time
string
The commit timestamp in RFC3339 format.
committer_email
string
The committer email.
committer_name
string
The committer name.
default_branch
string
The Git repository's default branch.
message
string
The commit message.
repository_url [required]
string
The URL of the repository.
sha [required]
string
The git commit SHA.
tag
string
The tag name (if a branch use the branch parameter).
id [required]
string
UUID for the stage. It has to be unique at least in the pipeline scope.
level [required]
enum
Used to distinguish between pipelines, stages, jobs and steps.
Allowed enum values: stage
default: stage
metrics
[string]
A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]
string
The name for the stage.
node
object
Contains information of the host running the pipeline, stage, job, or step.
hostname
string
FQDN of the host.
labels
[string]
A list of labels used to select or identify the node.
name
string
Name for the host.
workspace
string
The path where the code is checked out.
parameters
object
A map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>
string
pipeline_name [required]
string
The parent pipeline name.
pipeline_unique_id [required]
string
The parent pipeline UUID.
queue_time
int64
The queue time in milliseconds, if applicable.
start [required]
date-time
Time when the stage run started (it should not include any queue time). The time format must be RFC3339.
status [required]
enum
The final status of the stage.
Allowed enum values: success,error,canceled,skipped
tags
[string]
A list of user-defined tags. The tags must follow the key:value pattern.
Option 3
object
Details of a CI job.
dependencies
[string]
A list of job IDs that this job depends on.
end [required]
date-time
Time when the job run finished. The time format must be RFC3339.
error
object
Contains information of the CI error.
domain
enum
Error category used to differentiate between issues related to the developer or provider environments.
Allowed enum values: provider,user,unknown
message
string
Error message.
stack
string
The stack trace of the reported errors.
type
string
Short description of the error type.
git
object
If pipelines are triggered due to actions to a Git repository, then all payloads must contain this.
Note that either tag or branch has to be provided, but not both.
author_email [required]
string
The commit author email.
author_name
string
The commit author name.
author_time
string
The commit author timestamp in RFC3339 format.
branch
string
The branch name (if a tag use the tag parameter).
commit_time
string
The commit timestamp in RFC3339 format.
committer_email
string
The committer email.
committer_name
string
The committer name.
default_branch
string
The Git repository's default branch.
message
string
The commit message.
repository_url [required]
string
The URL of the repository.
sha [required]
string
The git commit SHA.
tag
string
The tag name (if a branch use the branch parameter).
id [required]
string
The UUID for the job. It has to be unique within each pipeline execution.
level [required]
enum
Used to distinguish between pipelines, stages, jobs, and steps.
Allowed enum values: job
default: job
metrics
[string]
A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]
string
The name for the job.
node
object
Contains information of the host running the pipeline, stage, job, or step.
hostname
string
FQDN of the host.
labels
[string]
A list of labels used to select or identify the node.
name
string
Name for the host.
workspace
string
The path where the code is checked out.
parameters
object
A map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>
string
pipeline_name [required]
string
The parent pipeline name.
pipeline_unique_id [required]
string
The parent pipeline UUID.
queue_time
int64
The queue time in milliseconds, if applicable.
stage_id
string
The parent stage UUID (if applicable).
stage_name
string
The parent stage name (if applicable).
start [required]
date-time
Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.
status [required]
enum
The final status of the job.
Allowed enum values: success,error,canceled,skipped
tags
[string]
A list of user-defined tags. The tags must follow the key:value pattern.
url [required]
string
The URL to look at the job in the CI provider UI.
Option 4
object
Details of a CI step.
end [required]
date-time
Time when the step run finished. The time format must be RFC3339.
error
object
Contains information of the CI error.
domain
enum
Error category used to differentiate between issues related to the developer or provider environments.
Allowed enum values: provider,user,unknown
message
string
Error message.
stack
string
The stack trace of the reported errors.
type
string
Short description of the error type.
git
object
If pipelines are triggered due to actions to a Git repository, then all payloads must contain this.
Note that either tag or branch has to be provided, but not both.
author_email [required]
string
The commit author email.
author_name
string
The commit author name.
author_time
string
The commit author timestamp in RFC3339 format.
branch
string
The branch name (if a tag use the tag parameter).
commit_time
string
The commit timestamp in RFC3339 format.
committer_email
string
The committer email.
committer_name
string
The committer name.
default_branch
string
The Git repository's default branch.
message
string
The commit message.
repository_url [required]
string
The URL of the repository.
sha [required]
string
The git commit SHA.
tag
string
The tag name (if a branch use the branch parameter).
id [required]
string
UUID for the step. It has to be unique within each pipeline execution.
job_id
string
The parent job UUID (if applicable).
job_name
string
The parent job name (if applicable).
level [required]
enum
Used to distinguish between pipelines, stages, jobs and steps.
Allowed enum values: step
default: step
metrics
[string]
A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]
string
The name for the step.
node
object
Contains information of the host running the pipeline, stage, job, or step.
hostname
string
FQDN of the host.
labels
[string]
A list of labels used to select or identify the node.
name
string
Name for the host.
workspace
string
The path where the code is checked out.
parameters
object
A map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>
string
pipeline_name [required]
string
The parent pipeline name.
pipeline_unique_id [required]
string
The parent pipeline UUID.
stage_id
string
The parent stage UUID (if applicable).
stage_name
string
The parent stage name (if applicable).
start [required]
date-time
Time when the step run started. The time format must be RFC3339.
status [required]
enum
The final status of the step.
Allowed enum values: success,error
tags
[string]
A list of user-defined tags. The tags must follow the key:value pattern.
url
string
The URL to look at the step in the CI provider UI.
service
string
If the CI provider is SaaS, use this to differentiate between instances.
type
enum
Type of the event.
Allowed enum values: cipipeline_resource_request
default: cipipeline_resource_request
{"data":{"attributes":{"resource":{"level":"pipeline","unique_id":"3eacb6f3-ff04-4e10-8a9c-46e6d054024a","name":"Deploy to AWS","url":"https://my-ci-provider.example/pipelines/my-pipeline/run/1","start":"2021-11-11T11:09:11+00:00","end":"2021-11-11T11:10:41+00:00","status":"success","partial_retry":false,"git":{"repository_url":"https://github.com/DataDog/datadog-agent","sha":"7f263865994b76066c4612fd1965215e7dcb4cd2","author_email":"john.doe@email.com"}}},"type":"cipipeline_resource_request"}}
{"data":{"attributes":{"resource":{"level":"pipeline","unique_id":"3eacb6f3-ff04-4e10-8a9c-46e6d054024a","name":"Deploy to AWS","url":"https://my-ci-provider.example/pipelines/my-pipeline/run/1","start":"2021-11-11T11:09:11+00:00","status":"running","partial_retry":false,"git":{"repository_url":"https://github.com/DataDog/datadog-agent","sha":"7f263865994b76066c4612fd1965215e7dcb4cd2","author_email":"john.doe@email.com"}}},"type":"cipipeline_resource_request"}}
// Send pipeline event returns "Request accepted for processing" response
usechrono::{DateTime,Utc};usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_ci_visibility_pipelines::CIVisibilityPipelinesAPI;usedatadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;usedatadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;usedatadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;usedatadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;usedatadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;usedatadog_api_client::datadogV2::model::CIAppGitInfo;usedatadog_api_client::datadogV2::model::CIAppPipelineEventPipeline;usedatadog_api_client::datadogV2::model::CIAppPipelineEventPipelineLevel;usedatadog_api_client::datadogV2::model::CIAppPipelineEventPipelineStatus;#[tokio::main]asyncfnmain(){letbody=CIAppCreatePipelineEventRequest::new().data(CIAppCreatePipelineEventRequestData::new().attributes(CIAppCreatePipelineEventRequestAttributes::new(CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(Box::new(CIAppPipelineEventPipeline::new(DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00").expect("Failed to parse datetime").with_timezone(&Utc),CIAppPipelineEventPipelineLevel::PIPELINE,"Deploy to AWS".to_string(),false,DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00").expect("Failed to parse datetime").with_timezone(&Utc),CIAppPipelineEventPipelineStatus::SUCCESS,"3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),"https://my-ci-provider.example/pipelines/my-pipeline/run/1".to_string(),).git(Some(CIAppGitInfo::new("john.doe@email.com".to_string(),"https://github.com/DataDog/datadog-agent".to_string(),"7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),))),),),)).type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),);letconfiguration=datadog::Configuration::new();letapi=CIVisibilityPipelinesAPI::with_config(configuration);letresp=api.create_ci_app_pipeline_event(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
Type of the event.
Allowed enum values: cipipeline
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},"ci_level":"pipeline","tags":["team:A"]},"id":"AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA","type":"cipipeline"}],"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 pipelines events returns "OK" response
"""fromdatetimeimportdatetimefromdateutil.relativedeltaimportrelativedeltafromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.ci_visibility_pipelines_apiimportCIVisibilityPipelinesApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=CIVisibilityPipelinesApi(api_client)response=api_instance.list_ci_app_pipeline_events(filter_query="@ci.provider.name:circleci",filter_from=(datetime.now()+relativedelta(minutes=-30)),filter_to=datetime.now(),page_limit=5,)print(response)
# Get a list of pipelines events returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::CIVisibilityPipelinesAPI.newopts={filter_query:"@ci.provider.name:circleci",filter_from:(Time.now+-30*60),filter_to:Time.now,page_limit:5,}papi_instance.list_ci_app_pipeline_events(opts)
// Get a list of pipelines 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.NewCIVisibilityPipelinesApi(apiClient)resp,r,err:=api.ListCIAppPipelineEvents(ctx,*datadogV2.NewListCIAppPipelineEventsOptionalParameters().WithFilterQuery("@ci.provider.name:circleci").WithFilterFrom(time.Now().Add(time.Minute*-30)).WithFilterTo(time.Now()).WithPageLimit(5))iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `CIVisibilityPipelinesApi.ListCIAppPipelineEvents`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `CIVisibilityPipelinesApi.ListCIAppPipelineEvents`:\n%s\n",responseContent)}
// Get a list of pipelines events returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.CiVisibilityPipelinesApi;importcom.datadog.api.client.v2.api.CiVisibilityPipelinesApi.ListCIAppPipelineEventsOptionalParameters;importcom.datadog.api.client.v2.model.CIAppPipelineEventsResponse;importjava.time.OffsetDateTime;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();CiVisibilityPipelinesApiapiInstance=newCiVisibilityPipelinesApi(defaultClient);try{CIAppPipelineEventsResponseresult=apiInstance.listCIAppPipelineEvents(newListCIAppPipelineEventsOptionalParameters().filterQuery("@ci.provider.name:circleci").filterFrom(OffsetDateTime.now().plusMinutes(-30)).filterTo(OffsetDateTime.now()).pageLimit(5));System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling CiVisibilityPipelinesApi#listCIAppPipelineEvents");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 pipelines events returns "OK" response
usechrono::{DateTime,Utc};usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_ci_visibility_pipelines::CIVisibilityPipelinesAPI;usedatadog_api_client::datadogV2::api_ci_visibility_pipelines::ListCIAppPipelineEventsOptionalParams;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=CIVisibilityPipelinesAPI::with_config(configuration);letresp=api.list_ci_app_pipeline_events(ListCIAppPipelineEventsOptionalParams::default().filter_query("@ci.provider.name:circleci".to_string()).filter_from(DateTime::parse_from_rfc3339("2021-11-11T10:41:11+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 pipelines events returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.CIVisibilityPipelinesApi(configuration);constparams: v2.CIVisibilityPipelinesApiListCIAppPipelineEventsRequest={filterQuery:"@ci.provider.name:circleci",filterFrom: newDate(newDate().getTime()+-30*60*1000),filterTo: newDate(),pageLimit: 5,};apiInstance.listCIAppPipelineEvents(params).then((data: v2.CIAppPipelineEventsResponse)=>{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":"@ci.provider.name:github AND @ci.status:error","to":"now"},"options":{"timezone":"GMT"},"page":{"limit":5},"sort":"timestamp"}
Type of the event.
Allowed enum values: cipipeline
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},"ci_level":"pipeline","tags":["team:A"]},"id":"AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA","type":"cipipeline"}],"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
/**
* Search pipelines events returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.CIVisibilityPipelinesApi(configuration);constparams: v2.CIVisibilityPipelinesApiSearchCIAppPipelineEventsRequest={body:{filter:{from:"now-15m",query:"@ci.provider.name:github AND @ci.status:error",to:"now",},options:{timezone:"GMT",},page:{limit: 5,},sort:"timestamp",},};apiInstance.searchCIAppPipelineEvents(params).then((data: v2.CIAppPipelineEventsResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Use this API endpoint to aggregate CI Visibility pipeline events into buckets of computed metrics and timeseries.
This endpoint requires the ci_visibility_read permission.
OAuth apps require the ci_visibility_read authorization scope to access this endpoint.
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":"pc90","metric":"@duration","type":"total"}],"filter":{"from":"now-15m","query":"@ci.provider.name:(gitlab OR github)","to":"now"},"group_by":[{"facet":"@ci.status","limit":10,"total":false}],"options":{"timezone":"GMT"}}
The response object for the pipeline 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.
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,"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 pipelines events returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.CIVisibilityPipelinesApi(configuration);constparams: v2.CIVisibilityPipelinesApiAggregateCIAppPipelineEventsRequest={body:{compute:[{aggregation:"pc90",metric:"@duration",type:"total",},],filter:{from:"now-15m",query:"@ci.provider.name:(gitlab OR github)",to:"now",},groupBy:[{facet:"@ci.status",limit: 10,total: false,},],options:{timezone:"GMT",},},};apiInstance.aggregateCIAppPipelineEvents(params).then((data: v2.CIAppPipelinesAnalyticsAggregateResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));