이 페이지는 아직 한국어로 제공되지 않습니다. 번역 작업 중입니다. 현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.
DORA Metrics
Search, send, or delete events for DORA Metrics to measure and improve your software delivery performance. See the DORA Metrics page for more information.
Note: DORA Metrics are not available in the US1-FED site.
A list of user-defined tags. The tags must follow the key:value pattern. Up to 100 may be added per event.
env
string
Environment name to where the service was deployed.
finished_at [required]
int64
Unix timestamp when the deployment finished. It must be in nanoseconds, milliseconds, or seconds.
git
object
Git info for DORA Metrics events.
commit_sha [required]
string
Git Commit SHA.
repository_url [required]
string
Git Repository URL
id
string
Deployment ID. Must be 16-128 characters and contain only alphanumeric characters, hyphens, underscores, periods, and colons (a-z, A-Z, 0-9, -, _, ., :).
service [required]
string
Service name.
started_at [required]
int64
Unix timestamp when the deployment started. It must be in nanoseconds, milliseconds, or seconds.
team
string
Name of the team owning the deployed service. If not provided, this is automatically populated with the team associated with the service in the Service Catalog.
Use this API endpoint to provide incident data for DORA Metrics.
Note that change failure rate and failed deployment recovery time are computed from change failures detected on deployments, not from incident events sent through this endpoint.
Tracking incidents gives a side-by-side view of how failed deployments translate into real-world incidents, including their severity and frequency.
A list of user-defined tags. The tags must follow the key:value pattern. Up to 100 may be added per event.
env
string
Environment name that was impacted by the incident.
finished_at
int64
Unix timestamp when the incident finished. It must be in nanoseconds, milliseconds, or seconds.
git
object
Git info for DORA Metrics events.
commit_sha [required]
string
Git Commit SHA.
repository_url [required]
string
Git Repository URL
id
string
Incident ID. Must be 16-128 characters and contain only alphanumeric characters, hyphens, underscores, periods, and colons (a-z, A-Z, 0-9, -, _, ., :).
name
string
Incident name.
services
[string]
Service names impacted by the incident. If possible, use names registered in the Service Catalog. Required when the team field is not provided.
severity
string
Incident severity.
started_at [required]
int64
Unix timestamp when the incident started. It must be in nanoseconds, milliseconds, or seconds.
team
string
Name of the team owning the services impacted. If possible, use team handles registered in Datadog. Required when the services field is not provided.
{"data":{"attributes":{"custom_tags":["language:java","department:engineering"],"env":"staging","finished_at":1693491984000000000,"git":{"commit_sha":"66adc9350f2cc9b250b69abddab733dd55e1a588","repository_url":"https://github.com/organization/example-repository"},"id":"string","name":"Webserver is down failing all requests.","services":["shopist"],"severity":"High","started_at":1693491974000000000,"team":"backend","version":"v1.12.07"}}}
"""
Send a failure event returns "OK - but delayed due to incident" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.dora_metrics_apiimportDORAMetricsApifromdatadog_api_client.v2.model.dora_failure_requestimportDORAFailureRequestfromdatadog_api_client.v2.model.dora_failure_request_attributesimportDORAFailureRequestAttributesfromdatadog_api_client.v2.model.dora_failure_request_dataimportDORAFailureRequestDatafromdatadog_api_client.v2.model.dora_git_infoimportDORAGitInfobody=DORAFailureRequest(data=DORAFailureRequestData(attributes=DORAFailureRequestAttributes(custom_tags=["language:java","department:engineering",],env="staging",finished_at=1693491984000000000,git=DORAGitInfo(commit_sha="66adc9350f2cc9b250b69abddab733dd55e1a588",repository_url="https://github.com/organization/example-repository",),name="Webserver is down failing all requests.",services=["shopist",],severity="High",started_at=1693491974000000000,team="backend",version="v1.12.07",),),)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=DORAMetricsApi(api_client)response=api_instance.create_dora_failure(body=body)print(response)
# Send a failure event returns "OK - but delayed due to incident" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::DORAMetricsAPI.newbody=DatadogAPIClient::V2::DORAFailureRequest.new({data:DatadogAPIClient::V2::DORAFailureRequestData.new({attributes:DatadogAPIClient::V2::DORAFailureRequestAttributes.new({custom_tags:["language:java","department:engineering",],env:"staging",finished_at:1693491984000000000,git:DatadogAPIClient::V2::DORAGitInfo.new({commit_sha:"66adc9350f2cc9b250b69abddab733dd55e1a588",repository_url:"https://github.com/organization/example-repository",}),name:"Webserver is down failing all requests.",services:["shopist",],severity:"High",started_at:1693491974000000000,team:"backend",version:"v1.12.07",}),}),})papi_instance.create_dora_failure(body)
// Send a failure event returns "OK - but delayed due to incident" responsepackagemainimport("context""encoding/json""fmt""os""github.com/DataDog/datadog-api-client-go/v2/api/datadog""github.com/DataDog/datadog-api-client-go/v2/api/datadogV2")funcmain(){body:=datadogV2.DORAFailureRequest{Data:datadogV2.DORAFailureRequestData{Attributes:datadogV2.DORAFailureRequestAttributes{CustomTags:*datadog.NewNullableList(&[]string{"language:java","department:engineering",}),Env:datadog.PtrString("staging"),FinishedAt:datadog.PtrInt64(1693491984000000000),Git:&datadogV2.DORAGitInfo{CommitSha:"66adc9350f2cc9b250b69abddab733dd55e1a588",RepositoryUrl:"https://github.com/organization/example-repository",},Name:datadog.PtrString("Webserver is down failing all requests."),Services:[]string{"shopist",},Severity:datadog.PtrString("High"),StartedAt:1693491974000000000,Team:datadog.PtrString("backend"),Version:datadog.PtrString("v1.12.07"),},},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewDORAMetricsApi(apiClient)resp,r,err:=api.CreateDORAFailure(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `DORAMetricsApi.CreateDORAFailure`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `DORAMetricsApi.CreateDORAFailure`:\n%s\n",responseContent)}
// Send a failure event returns "OK - but delayed due to incident" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.DoraMetricsApi;importcom.datadog.api.client.v2.model.DORAFailureRequest;importcom.datadog.api.client.v2.model.DORAFailureRequestAttributes;importcom.datadog.api.client.v2.model.DORAFailureRequestData;importcom.datadog.api.client.v2.model.DORAFailureResponse;importcom.datadog.api.client.v2.model.DORAGitInfo;importjava.util.Arrays;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();DoraMetricsApiapiInstance=newDoraMetricsApi(defaultClient);DORAFailureRequestbody=newDORAFailureRequest().data(newDORAFailureRequestData().attributes(newDORAFailureRequestAttributes().customTags(Arrays.asList("language:java","department:engineering")).env("staging").finishedAt(1693491984000000000L).git(newDORAGitInfo().commitSha("66adc9350f2cc9b250b69abddab733dd55e1a588").repositoryUrl("https://github.com/organization/example-repository")).name("Webserver is down failing all requests.").services(Collections.singletonList("shopist")).severity("High").startedAt(1693491974000000000L).team("backend").version("v1.12.07")));try{DORAFailureResponseresult=apiInstance.createDORAFailure(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling DoraMetricsApi#createDORAFailure");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Send a failure event returns "OK - but delayed due to incident" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_dora_metrics::DORAMetricsAPI;usedatadog_api_client::datadogV2::model::DORAFailureRequest;usedatadog_api_client::datadogV2::model::DORAFailureRequestAttributes;usedatadog_api_client::datadogV2::model::DORAFailureRequestData;usedatadog_api_client::datadogV2::model::DORAGitInfo;#[tokio::main]asyncfnmain(){letbody=DORAFailureRequest::new(DORAFailureRequestData::new(DORAFailureRequestAttributes::new(1693491974000000000).custom_tags(Some(vec!["language:java".to_string(),"department:engineering".to_string(),])).env("staging".to_string()).finished_at(1693491984000000000).git(DORAGitInfo::new("66adc9350f2cc9b250b69abddab733dd55e1a588".to_string(),"https://github.com/organization/example-repository".to_string(),)).name("Webserver is down failing all requests.".to_string()).services(vec!["shopist".to_string()]).severity("High".to_string()).team("backend".to_string()).version("v1.12.07".to_string()),));letconfiguration=datadog::Configuration::new();letapi=DORAMetricsAPI::with_config(configuration);letresp=api.create_dora_failure(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"cargo run
/**
* Send a failure event returns "OK - but delayed due to incident" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.DORAMetricsApi(configuration);constparams: v2.DORAMetricsApiCreateDORAFailureRequest={body:{data:{attributes:{customTags:["language:java","department:engineering"],env:"staging",finishedAt: 1693491984000000000,git:{commitSha:"66adc9350f2cc9b250b69abddab733dd55e1a588",repositoryUrl:"https://github.com/organization/example-repository",},name:"Webserver is down failing all requests.",services:["shopist"],severity:"High",startedAt: 1693491974000000000,team:"backend",version:"v1.12.07",},},},};apiInstance.createDORAFailure(params).then((data: v2.DORAFailureResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
The definition of DORAListDeploymentsRequestDataType object.
Allowed enum values: dora_deployments_list_request
default: dora_deployments_list_request
{"data":{"attributes":{"from":"2025-01-01T00:00:00Z","limit":500,"query":"service:(shopist OR api-service OR payment-service) env:(production OR staging) team:(backend OR platform)","sort":"-finished_at","to":"2025-01-31T23:59:59Z"},"type":"dora_deployments_list_request"}}
"""
Get a list of deployment events returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.dora_metrics_apiimportDORAMetricsApifromdatadog_api_client.v2.model.dora_list_deployments_requestimportDORAListDeploymentsRequestfromdatadog_api_client.v2.model.dora_list_deployments_request_attributesimportDORAListDeploymentsRequestAttributesfromdatadog_api_client.v2.model.dora_list_deployments_request_dataimportDORAListDeploymentsRequestDatafromdatadog_api_client.v2.model.dora_list_deployments_request_data_typeimportDORAListDeploymentsRequestDataTypefromdatetimeimportdatetimefromdateutil.tzimporttzutcbody=DORAListDeploymentsRequest(data=DORAListDeploymentsRequestData(attributes=DORAListDeploymentsRequestAttributes(_from=datetime(2025,3,23,0,0,tzinfo=tzutc()),limit=1,to=datetime(2025,3,24,0,0,tzinfo=tzutc()),),type=DORAListDeploymentsRequestDataType.DORA_DEPLOYMENTS_LIST_REQUEST,),)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=DORAMetricsApi(api_client)response=api_instance.list_dora_deployments(body=body)print(response)
# Get a list of deployment events returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::DORAMetricsAPI.newbody=DatadogAPIClient::V2::DORAListDeploymentsRequest.new({data:DatadogAPIClient::V2::DORAListDeploymentsRequestData.new({attributes:DatadogAPIClient::V2::DORAListDeploymentsRequestAttributes.new({from:"2025-03-23T00:00:00Z",limit:1,to:"2025-03-24T00:00:00Z",}),type:DatadogAPIClient::V2::DORAListDeploymentsRequestDataType::DORA_DEPLOYMENTS_LIST_REQUEST,}),})papi_instance.list_dora_deployments(body)
// Get a list of deployment events returns "OK" responsepackagemainimport("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(){body:=datadogV2.DORAListDeploymentsRequest{Data:datadogV2.DORAListDeploymentsRequestData{Attributes:datadogV2.DORAListDeploymentsRequestAttributes{From:datadog.PtrTime(time.Date(2025,3,23,0,0,0,0,time.UTC)),Limit:datadog.PtrInt32(1),To:datadog.PtrTime(time.Date(2025,3,24,0,0,0,0,time.UTC)),},Type:datadogV2.DORALISTDEPLOYMENTSREQUESTDATATYPE_DORA_DEPLOYMENTS_LIST_REQUEST.Ptr(),},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewDORAMetricsApi(apiClient)resp,r,err:=api.ListDORADeployments(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `DORAMetricsApi.ListDORADeployments`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `DORAMetricsApi.ListDORADeployments`:\n%s\n",responseContent)}
// Get a list of deployment events returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.DoraMetricsApi;importcom.datadog.api.client.v2.model.DORADeploymentsListResponse;importcom.datadog.api.client.v2.model.DORAListDeploymentsRequest;importcom.datadog.api.client.v2.model.DORAListDeploymentsRequestAttributes;importcom.datadog.api.client.v2.model.DORAListDeploymentsRequestData;importcom.datadog.api.client.v2.model.DORAListDeploymentsRequestDataType;importjava.time.OffsetDateTime;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();DoraMetricsApiapiInstance=newDoraMetricsApi(defaultClient);DORAListDeploymentsRequestbody=newDORAListDeploymentsRequest().data(newDORAListDeploymentsRequestData().attributes(newDORAListDeploymentsRequestAttributes().from(OffsetDateTime.parse("2025-03-23T00:00:00Z")).limit(1).to(OffsetDateTime.parse("2025-03-24T00:00:00Z"))).type(DORAListDeploymentsRequestDataType.DORA_DEPLOYMENTS_LIST_REQUEST));try{DORADeploymentsListResponseresult=apiInstance.listDORADeployments(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling DoraMetricsApi#listDORADeployments");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 deployment events returns "OK" response
usechrono::{DateTime,Utc};usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_dora_metrics::DORAMetricsAPI;usedatadog_api_client::datadogV2::model::DORAListDeploymentsRequest;usedatadog_api_client::datadogV2::model::DORAListDeploymentsRequestAttributes;usedatadog_api_client::datadogV2::model::DORAListDeploymentsRequestData;usedatadog_api_client::datadogV2::model::DORAListDeploymentsRequestDataType;#[tokio::main]asyncfnmain(){letbody=DORAListDeploymentsRequest::new(DORAListDeploymentsRequestData::new(DORAListDeploymentsRequestAttributes::new().from(DateTime::parse_from_rfc3339("2025-03-23T00:00:00+00:00").expect("Failed to parse datetime").with_timezone(&Utc),).limit(1).to(DateTime::parse_from_rfc3339("2025-03-24T00:00:00+00:00").expect("Failed to parse datetime").with_timezone(&Utc)),).type_(DORAListDeploymentsRequestDataType::DORA_DEPLOYMENTS_LIST_REQUEST),);letconfiguration=datadog::Configuration::new();letapi=DORAMetricsAPI::with_config(configuration);letresp=api.list_dora_deployments(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a list of deployment events returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.DORAMetricsApi(configuration);constparams: v2.DORAMetricsApiListDORADeploymentsRequest={body:{data:{attributes:{from:newDate(2025,3,23,0,0,0,0),limit: 1,to: newDate(2025,3,24,0,0,0,0),},type:"dora_deployments_list_request",},},};apiInstance.listDORADeployments(params).then((data: v2.DORADeploymentsListResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
The definition of DORAListFailuresRequestDataType object.
Allowed enum values: dora_failures_list_request
default: dora_failures_list_request
{"data":{"attributes":{"from":"2025-01-01T00:00:00Z","limit":500,"query":"severity:(SEV-1 OR SEV-2) env:(production OR staging) service:(shopist OR api-service OR payment-service) team:(backend OR platform OR payments)","sort":"-started_at","to":"2025-01-31T23:59:59Z"},"type":"dora_failures_list_request"}}
A list of user-defined tags. The tags must follow the key:value pattern. Up to 100 may be added per event.
env
string
Environment name that was impacted by the incident.
finished_at
int64
Unix timestamp when the incident finished.
git
object
Git info for DORA Metrics events.
commit_sha [required]
string
Git Commit SHA.
repository_url [required]
string
Git Repository URL
name
string
Incident name.
services
[string]
Service names impacted by the incident.
severity
string
Incident severity.
started_at [required]
int64
Unix timestamp when the incident started.
team
string
Name of the team owning the services impacted.
version
string
Version to correlate with APM Deployment Tracking.
id
string
The ID of the incident event.
type
enum
JSON:API type for DORA incident events.
Allowed enum values: dora_failure
default: dora_failure
{"data":[{"attributes":{"custom_tags":["incident_type:database","department:engineering"],"env":"production","finished_at":1693492274000000000,"name":"Database outage","services":["shopist"],"severity":"SEV-1","started_at":1693492174000000000,"team":"backend"},"id":"4242fcdd31586085","type":"dora_incident"},{"attributes":{"custom_tags":["incident_type:service_down","department:platform"],"env":"production","finished_at":1693492474000000000,"name":"API service outage","services":["api-service","payment-service"],"severity":"SEV-2","started_at":1693492374000000000,"team":"backend"},"id":"4242fcdd31586086","type":"dora_incident"}]}
"""
Get a list of failure events returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.dora_metrics_apiimportDORAMetricsApifromdatadog_api_client.v2.model.dora_list_failures_requestimportDORAListFailuresRequestfromdatadog_api_client.v2.model.dora_list_failures_request_attributesimportDORAListFailuresRequestAttributesfromdatadog_api_client.v2.model.dora_list_failures_request_dataimportDORAListFailuresRequestDatafromdatadog_api_client.v2.model.dora_list_failures_request_data_typeimportDORAListFailuresRequestDataTypefromdatetimeimportdatetimefromdateutil.tzimporttzutcbody=DORAListFailuresRequest(data=DORAListFailuresRequestData(attributes=DORAListFailuresRequestAttributes(_from=datetime(2025,3,23,0,0,tzinfo=tzutc()),limit=1,to=datetime(2025,3,24,0,0,tzinfo=tzutc()),),type=DORAListFailuresRequestDataType.DORA_FAILURES_LIST_REQUEST,),)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=DORAMetricsApi(api_client)response=api_instance.list_dora_failures(body=body)print(response)
# Get a list of failure events returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::DORAMetricsAPI.newbody=DatadogAPIClient::V2::DORAListFailuresRequest.new({data:DatadogAPIClient::V2::DORAListFailuresRequestData.new({attributes:DatadogAPIClient::V2::DORAListFailuresRequestAttributes.new({from:"2025-03-23T00:00:00Z",limit:1,to:"2025-03-24T00:00:00Z",}),type:DatadogAPIClient::V2::DORAListFailuresRequestDataType::DORA_FAILURES_LIST_REQUEST,}),})papi_instance.list_dora_failures(body)
// Get a list of failure events returns "OK" responsepackagemainimport("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(){body:=datadogV2.DORAListFailuresRequest{Data:datadogV2.DORAListFailuresRequestData{Attributes:datadogV2.DORAListFailuresRequestAttributes{From:datadog.PtrTime(time.Date(2025,3,23,0,0,0,0,time.UTC)),Limit:datadog.PtrInt32(1),To:datadog.PtrTime(time.Date(2025,3,24,0,0,0,0,time.UTC)),},Type:datadogV2.DORALISTFAILURESREQUESTDATATYPE_DORA_FAILURES_LIST_REQUEST.Ptr(),},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewDORAMetricsApi(apiClient)resp,r,err:=api.ListDORAFailures(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `DORAMetricsApi.ListDORAFailures`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `DORAMetricsApi.ListDORAFailures`:\n%s\n",responseContent)}
// Get a list of failure events returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.DoraMetricsApi;importcom.datadog.api.client.v2.model.DORAFailuresListResponse;importcom.datadog.api.client.v2.model.DORAListFailuresRequest;importcom.datadog.api.client.v2.model.DORAListFailuresRequestAttributes;importcom.datadog.api.client.v2.model.DORAListFailuresRequestData;importcom.datadog.api.client.v2.model.DORAListFailuresRequestDataType;importjava.time.OffsetDateTime;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();DoraMetricsApiapiInstance=newDoraMetricsApi(defaultClient);DORAListFailuresRequestbody=newDORAListFailuresRequest().data(newDORAListFailuresRequestData().attributes(newDORAListFailuresRequestAttributes().from(OffsetDateTime.parse("2025-03-23T00:00:00Z")).limit(1).to(OffsetDateTime.parse("2025-03-24T00:00:00Z"))).type(DORAListFailuresRequestDataType.DORA_FAILURES_LIST_REQUEST));try{DORAFailuresListResponseresult=apiInstance.listDORAFailures(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling DoraMetricsApi#listDORAFailures");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 failure events returns "OK" response
usechrono::{DateTime,Utc};usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_dora_metrics::DORAMetricsAPI;usedatadog_api_client::datadogV2::model::DORAListFailuresRequest;usedatadog_api_client::datadogV2::model::DORAListFailuresRequestAttributes;usedatadog_api_client::datadogV2::model::DORAListFailuresRequestData;usedatadog_api_client::datadogV2::model::DORAListFailuresRequestDataType;#[tokio::main]asyncfnmain(){letbody=DORAListFailuresRequest::new(DORAListFailuresRequestData::new(DORAListFailuresRequestAttributes::new().from(DateTime::parse_from_rfc3339("2025-03-23T00:00:00+00:00").expect("Failed to parse datetime").with_timezone(&Utc),).limit(1).to(DateTime::parse_from_rfc3339("2025-03-24T00:00:00+00:00").expect("Failed to parse datetime").with_timezone(&Utc)),).type_(DORAListFailuresRequestDataType::DORA_FAILURES_LIST_REQUEST),);letconfiguration=datadog::Configuration::new();letapi=DORAMetricsAPI::with_config(configuration);letresp=api.list_dora_failures(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a list of failure events returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.DORAMetricsApi(configuration);constparams: v2.DORAMetricsApiListDORAFailuresRequest={body:{data:{attributes:{from:newDate(2025,3,23,0,0,0,0),limit: 1,to: newDate(2025,3,24,0,0,0,0),},type:"dora_failures_list_request",},},};apiInstance.listDORAFailures(params).then((data: v2.DORAFailuresListResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Get a deployment event returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.dora_metrics_apiimportDORAMetricsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=DORAMetricsApi(api_client)response=api_instance.get_dora_deployment(deployment_id="deployment_id",)print(response)
# Get a deployment event returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::DORAMetricsAPI.newpapi_instance.get_dora_deployment("deployment_id")
// Get a deployment event returns "OK" responsepackagemainimport("context""encoding/json""fmt""os""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.NewDORAMetricsApi(apiClient)resp,r,err:=api.GetDORADeployment(ctx,"deployment_id")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `DORAMetricsApi.GetDORADeployment`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `DORAMetricsApi.GetDORADeployment`:\n%s\n",responseContent)}
// Get a deployment event returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_dora_metrics::DORAMetricsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=DORAMetricsAPI::with_config(configuration);letresp=api.get_dora_deployment("deployment_id".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a deployment event returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.DORAMetricsApi(configuration);constparams: v2.DORAMetricsApiGetDORADeploymentRequest={deploymentId:"deployment_id",};apiInstance.getDORADeployment(params).then((data: v2.DORADeploymentFetchResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Get a failure event returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.dora_metrics_apiimportDORAMetricsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=DORAMetricsApi(api_client)response=api_instance.get_dora_failure(failure_id="failure_id",)print(response)
# Get a failure event returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::DORAMetricsAPI.newpapi_instance.get_dora_failure("failure_id")
// Get a failure event returns "OK" responsepackagemainimport("context""encoding/json""fmt""os""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.NewDORAMetricsApi(apiClient)resp,r,err:=api.GetDORAFailure(ctx,"failure_id")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `DORAMetricsApi.GetDORAFailure`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `DORAMetricsApi.GetDORAFailure`:\n%s\n",responseContent)}
// Get a failure event returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_dora_metrics::DORAMetricsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=DORAMetricsAPI::with_config(configuration);letresp=api.get_dora_failure("failure_id".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a failure event returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.DORAMetricsApi(configuration);constparams: v2.DORAMetricsApiGetDORAFailureRequest={failureId:"failure_id",};apiInstance.getDORAFailure(params).then((data: v2.DORAFailureFetchResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Delete a failure event returns "Accepted" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.DORAMetricsApi(configuration);constparams: v2.DORAMetricsApiDeleteDORAFailureRequest={failureId:"NO_VALUE",};apiInstance.deleteDORAFailure(params).then((data: any)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Delete a deployment event returns "Accepted" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.DORAMetricsApi(configuration);constparams: v2.DORAMetricsApiDeleteDORADeploymentRequest={deploymentId:"NO_VALUE",};apiInstance.deleteDORADeployment(params).then((data: any)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Update a deployment’s change failure status. Use this to mark a deployment as a change failure or back to stable. You can optionally include remediation details to enable failed deployment recovery time calculation.
This endpoint requires the dora_metrics_write permission.
Indicates whether the deployment resulted in a change failure.
remediation
object
Remediation details for the deployment. Optional, but required to calculate failed deployment recovery time.
id
string
The ID of the remediation deployment. Required when the failed deployment must be linked to a remediation deployment.
type
enum
The type of remediation action taken. Required when the failed deployment must be linked to a remediation deployment.
Allowed enum values: rollback,rollforward
id [required]
string
The ID of the deployment to patch.
type [required]
enum
JSON:API type for DORA deployment patch request.
Allowed enum values: dora_deployment_patch_request
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Patch a deployment event returns "Accepted" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.DORAMetricsApi(configuration);constparams: v2.DORAMetricsApiPatchDORADeploymentRequest={body:{data:{attributes:{changeFailure: true,remediation:{id:"eG42zNIkVjM",type:"rollback",},},id:"z_RwVLi7v4Y",type:"dora_deployment_patch_request",},},deploymentId:"deployment_id",};apiInstance.patchDORADeployment(params).then((data: any)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Note: This endpoint is deprecated. Please use /api/v2/dora/failure instead.
Use this API endpoint to provide incident data.
Tracking incidents gives a side-by-side view of how failed deployments translate into real-world incidents.
A list of user-defined tags. The tags must follow the key:value pattern. Up to 100 may be added per event.
env
string
Environment name that was impacted by the incident.
finished_at
int64
Unix timestamp when the incident finished. It must be in nanoseconds, milliseconds, or seconds.
git
object
Git info for DORA Metrics events.
commit_sha [required]
string
Git Commit SHA.
repository_url [required]
string
Git Repository URL
id
string
Incident ID. Must be 16-128 characters and contain only alphanumeric characters, hyphens, underscores, periods, and colons (a-z, A-Z, 0-9, -, _, ., :).
name
string
Incident name.
services
[string]
Service names impacted by the incident. If possible, use names registered in the Service Catalog. Required when the team field is not provided.
severity
string
Incident severity.
started_at [required]
int64
Unix timestamp when the incident started. It must be in nanoseconds, milliseconds, or seconds.
team
string
Name of the team owning the services impacted. If possible, use team handles registered in Datadog. Required when the services field is not provided.
{"data":{"attributes":{"finished_at":1707842944600000000,"git":{"commit_sha":"66adc9350f2cc9b250b69abddab733dd55e1a588","repository_url":"https://github.com/organization/example-repository"},"name":"Webserver is down failing all requests","services":["shopist"],"severity":"High","started_at":1707842944500000000,"team":"backend","version":"v1.12.07"}}}
// Send a failure event returns "OK" responsepackagemainimport("context""encoding/json""fmt""os""github.com/DataDog/datadog-api-client-go/v2/api/datadog""github.com/DataDog/datadog-api-client-go/v2/api/datadogV2")funcmain(){body:=datadogV2.DORAFailureRequest{Data:datadogV2.DORAFailureRequestData{Attributes:datadogV2.DORAFailureRequestAttributes{FinishedAt:datadog.PtrInt64(1707842944600000000),Git:&datadogV2.DORAGitInfo{CommitSha:"66adc9350f2cc9b250b69abddab733dd55e1a588",RepositoryUrl:"https://github.com/organization/example-repository",},Name:datadog.PtrString("Webserver is down failing all requests"),Services:[]string{"shopist",},Severity:datadog.PtrString("High"),StartedAt:1707842944500000000,Team:datadog.PtrString("backend"),Version:datadog.PtrString("v1.12.07"),},},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewDORAMetricsApi(apiClient)resp,r,err:=api.CreateDORAIncident(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `DORAMetricsApi.CreateDORAIncident`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `DORAMetricsApi.CreateDORAIncident`:\n%s\n",responseContent)}
// Send a failure event returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.DoraMetricsApi;importcom.datadog.api.client.v2.model.DORAFailureRequest;importcom.datadog.api.client.v2.model.DORAFailureRequestAttributes;importcom.datadog.api.client.v2.model.DORAFailureRequestData;importcom.datadog.api.client.v2.model.DORAFailureResponse;importcom.datadog.api.client.v2.model.DORAGitInfo;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();DoraMetricsApiapiInstance=newDoraMetricsApi(defaultClient);DORAFailureRequestbody=newDORAFailureRequest().data(newDORAFailureRequestData().attributes(newDORAFailureRequestAttributes().finishedAt(1707842944600000000L).git(newDORAGitInfo().commitSha("66adc9350f2cc9b250b69abddab733dd55e1a588").repositoryUrl("https://github.com/organization/example-repository")).name("Webserver is down failing all requests").services(Collections.singletonList("shopist")).severity("High").startedAt(1707842944500000000L).team("backend").version("v1.12.07")));try{DORAFailureResponseresult=apiInstance.createDORAIncident(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling DoraMetricsApi#createDORAIncident");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Send a failure event returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.dora_metrics_apiimportDORAMetricsApifromdatadog_api_client.v2.model.dora_failure_requestimportDORAFailureRequestfromdatadog_api_client.v2.model.dora_failure_request_attributesimportDORAFailureRequestAttributesfromdatadog_api_client.v2.model.dora_failure_request_dataimportDORAFailureRequestDatafromdatadog_api_client.v2.model.dora_git_infoimportDORAGitInfobody=DORAFailureRequest(data=DORAFailureRequestData(attributes=DORAFailureRequestAttributes(finished_at=1707842944600000000,git=DORAGitInfo(commit_sha="66adc9350f2cc9b250b69abddab733dd55e1a588",repository_url="https://github.com/organization/example-repository",),name="Webserver is down failing all requests",services=["shopist",],severity="High",started_at=1707842944500000000,team="backend",version="v1.12.07",),),)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=DORAMetricsApi(api_client)response=api_instance.create_dora_incident(body=body)print(response)
# Send a failure event returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::DORAMetricsAPI.newbody=DatadogAPIClient::V2::DORAFailureRequest.new({data:DatadogAPIClient::V2::DORAFailureRequestData.new({attributes:DatadogAPIClient::V2::DORAFailureRequestAttributes.new({finished_at:1707842944600000000,git:DatadogAPIClient::V2::DORAGitInfo.new({commit_sha:"66adc9350f2cc9b250b69abddab733dd55e1a588",repository_url:"https://github.com/organization/example-repository",}),name:"Webserver is down failing all requests",services:["shopist",],severity:"High",started_at:1707842944500000000,team:"backend",version:"v1.12.07",}),}),})papi_instance.create_dora_incident(body)
// Send a failure event returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_dora_metrics::DORAMetricsAPI;usedatadog_api_client::datadogV2::model::DORAFailureRequest;usedatadog_api_client::datadogV2::model::DORAFailureRequestAttributes;usedatadog_api_client::datadogV2::model::DORAFailureRequestData;usedatadog_api_client::datadogV2::model::DORAGitInfo;#[tokio::main]asyncfnmain(){letbody=DORAFailureRequest::new(DORAFailureRequestData::new(DORAFailureRequestAttributes::new(1707842944500000000).finished_at(1707842944600000000).git(DORAGitInfo::new("66adc9350f2cc9b250b69abddab733dd55e1a588".to_string(),"https://github.com/organization/example-repository".to_string(),)).name("Webserver is down failing all requests".to_string()).services(vec!["shopist".to_string()]).severity("High".to_string()).team("backend".to_string()).version("v1.12.07".to_string()),));letconfiguration=datadog::Configuration::new();letapi=DORAMetricsAPI::with_config(configuration);letresp=api.create_dora_incident(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"cargo run
/**
* Send a failure event returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.DORAMetricsApi(configuration);constparams: v2.DORAMetricsApiCreateDORAIncidentRequest={body:{data:{attributes:{finishedAt: 1707842944600000000,git:{commitSha:"66adc9350f2cc9b250b69abddab733dd55e1a588",repositoryUrl:"https://github.com/organization/example-repository",},name:"Webserver is down failing all requests",services:["shopist"],severity:"High",startedAt: 1707842944500000000,team:"backend",version:"v1.12.07",},},},};apiInstance.createDORAIncident(params).then((data: v2.DORAFailureResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));