v2_dora_metrics_CreateDORAFailure/
v2_dora-metrics_CreateDORAFailure.rs

1// Send a failure event returns "OK - but delayed due to incident" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_dora_metrics::DORAMetricsAPI;
4use datadog_api_client::datadogV2::model::DORAFailureRequest;
5use datadog_api_client::datadogV2::model::DORAFailureRequestAttributes;
6use datadog_api_client::datadogV2::model::DORAFailureRequestData;
7use datadog_api_client::datadogV2::model::DORAGitInfo;
8
9#[tokio::main]
10async fn main() {
11    let body = DORAFailureRequest::new(DORAFailureRequestData::new(
12        DORAFailureRequestAttributes::new(1693491974000000000)
13            .custom_tags(Some(vec![
14                "language:java".to_string(),
15                "department:engineering".to_string(),
16            ]))
17            .env("staging".to_string())
18            .finished_at(1693491984000000000)
19            .git(DORAGitInfo::new(
20                "66adc9350f2cc9b250b69abddab733dd55e1a588".to_string(),
21                "https://github.com/organization/example-repository".to_string(),
22            ))
23            .name("Webserver is down failing all requests.".to_string())
24            .services(vec!["shopist".to_string()])
25            .severity("High".to_string())
26            .team("backend".to_string())
27            .version("v1.12.07".to_string()),
28    ));
29    let configuration = datadog::Configuration::new();
30    let api = DORAMetricsAPI::with_config(configuration);
31    let resp = api.create_dora_failure(body).await;
32    if let Ok(value) = resp {
33        println!("{:#?}", value);
34    } else {
35        println!("{:#?}", resp.unwrap_err());
36    }
37}