- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Send events for DORA Metrics to measure and improve software delivery. See the DORA Metrics page for more information.
Note: This endpoint is in public beta. If you have any feedback, contact Datadog support.
POST https://api.ap1.datadoghq.com/api/v2/dora/deploymenthttps://api.datadoghq.eu/api/v2/dora/deploymenthttps://api.ddog-gov.com/api/v2/dora/deploymenthttps://api.datadoghq.com/api/v2/dora/deploymenthttps://api.us3.datadoghq.com/api/v2/dora/deploymenthttps://api.us5.datadoghq.com/api/v2/dora/deployment
Use this API endpoint to provide data about deployments for DORA metrics.
This is necessary for:
항목
유형
설명
data [required]
object
The JSON:API data.
attributes [required]
object
Attributes to create a DORA deployment 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, and it should not be older than 1 hour.
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.
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.
{
"data": {
"attributes": {
"finished_at": 1693491984000000000,
"git": {
"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588",
"repository_url": "https://github.com/organization/example-repository"
},
"service": "shopist",
"started_at": 1693491974000000000,
"version": "v1.12.07"
}
}
}
OK
Response after receiving a DORA deployment event.
항목
유형
설명
data [required]
object
The JSON:API data.
id [required]
string
The ID of the received DORA deployment event.
type
enum
JSON:API type for DORA deployment events.
Allowed enum values: dora_deployment
default: dora_deployment
{
"data": {
"id": "4242fcdd31586083",
"type": "dora_deployment"
}
}
OK - but delayed due to incident
Response after receiving a DORA deployment event.
항목
유형
설명
data [required]
object
The JSON:API data.
id [required]
string
The ID of the received DORA deployment event.
type
enum
JSON:API type for DORA deployment events.
Allowed enum values: dora_deployment
default: dora_deployment
{
"data": {
"id": "4242fcdd31586083",
"type": "dora_deployment"
}
}
Bad Request
API error response.
항목
유형
설명
errors [required]
[object]
A list of errors.
detail
string
A human-readable explanation specific to this occurrence of the error.
status
string
Status code of the response.
title
string
Short human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"status": "400",
"title": "Bad Request"
}
]
}
Not Authorized
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/dora/deployment" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"data": {
"attributes": {
"finished_at": 1693491984000000000,
"git": {
"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588",
"repository_url": "https://github.com/organization/example-repository"
},
"service": "shopist",
"started_at": 1693491974000000000,
"version": "v1.12.07"
}
}
}
EOF
// Send a deployment event for DORA Metrics returns "OK" response
package main
import (
"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"
)
func main() {
body := datadogV2.DORADeploymentRequest{
Data: datadogV2.DORADeploymentRequestData{
Attributes: datadogV2.DORADeploymentRequestAttributes{
FinishedAt: 1693491984000000000,
Git: &datadogV2.DORAGitInfo{
CommitSha: "66adc9350f2cc9b250b69abddab733dd55e1a588",
RepositoryUrl: "https://github.com/organization/example-repository",
},
Service: "shopist",
StartedAt: 1693491974000000000,
Version: datadog.PtrString("v1.12.07"),
},
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.CreateDORADeployment", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewDORAMetricsApi(apiClient)
resp, r, err := api.CreateDORADeployment(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `DORAMetricsApi.CreateDORADeployment`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `DORAMetricsApi.CreateDORADeployment`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"
// Send a deployment event for DORA Metrics returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DoraMetricsApi;
import com.datadog.api.client.v2.model.DORADeploymentRequest;
import com.datadog.api.client.v2.model.DORADeploymentRequestAttributes;
import com.datadog.api.client.v2.model.DORADeploymentRequestData;
import com.datadog.api.client.v2.model.DORADeploymentResponse;
import com.datadog.api.client.v2.model.DORAGitInfo;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setUnstableOperationEnabled("v2.createDORADeployment", true);
DoraMetricsApi apiInstance = new DoraMetricsApi(defaultClient);
DORADeploymentRequest body =
new DORADeploymentRequest()
.data(
new DORADeploymentRequestData()
.attributes(
new DORADeploymentRequestAttributes()
.finishedAt(1693491984000000000L)
.git(
new DORAGitInfo()
.commitSha("66adc9350f2cc9b250b69abddab733dd55e1a588")
.repositoryUrl(
"https://github.com/organization/example-repository"))
.service("shopist")
.startedAt(1693491974000000000L)
.version("v1.12.07")));
try {
DORADeploymentResponse result = apiInstance.createDORADeployment(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling DoraMetricsApi#createDORADeployment");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"
"""
Send a deployment event for DORA Metrics returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.dora_metrics_api import DORAMetricsApi
from datadog_api_client.v2.model.dora_deployment_request import DORADeploymentRequest
from datadog_api_client.v2.model.dora_deployment_request_attributes import DORADeploymentRequestAttributes
from datadog_api_client.v2.model.dora_deployment_request_data import DORADeploymentRequestData
from datadog_api_client.v2.model.dora_git_info import DORAGitInfo
body = DORADeploymentRequest(
data=DORADeploymentRequestData(
attributes=DORADeploymentRequestAttributes(
finished_at=1693491984000000000,
git=DORAGitInfo(
commit_sha="66adc9350f2cc9b250b69abddab733dd55e1a588",
repository_url="https://github.com/organization/example-repository",
),
service="shopist",
started_at=1693491974000000000,
version="v1.12.07",
),
),
)
configuration = Configuration()
configuration.unstable_operations["create_dora_deployment"] = True
with ApiClient(configuration) as api_client:
api_instance = DORAMetricsApi(api_client)
response = api_instance.create_dora_deployment(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"
# Send a deployment event for DORA Metrics returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.create_dora_deployment".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DORAMetricsAPI.new
body = DatadogAPIClient::V2::DORADeploymentRequest.new({
data: DatadogAPIClient::V2::DORADeploymentRequestData.new({
attributes: DatadogAPIClient::V2::DORADeploymentRequestAttributes.new({
finished_at: 1693491984000000000,
git: DatadogAPIClient::V2::DORAGitInfo.new({
commit_sha: "66adc9350f2cc9b250b69abddab733dd55e1a588",
repository_url: "https://github.com/organization/example-repository",
}),
service: "shopist",
started_at: 1693491974000000000,
version: "v1.12.07",
}),
}),
})
p api_instance.create_dora_deployment(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"
// Send a deployment event for DORA Metrics returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_dora_metrics::DORAMetricsAPI;
use datadog_api_client::datadogV2::model::DORADeploymentRequest;
use datadog_api_client::datadogV2::model::DORADeploymentRequestAttributes;
use datadog_api_client::datadogV2::model::DORADeploymentRequestData;
use datadog_api_client::datadogV2::model::DORAGitInfo;
#[tokio::main]
async fn main() {
let body = DORADeploymentRequest::new(DORADeploymentRequestData::new(
DORADeploymentRequestAttributes::new(
1693491984000000000,
"shopist".to_string(),
1693491974000000000,
)
.git(DORAGitInfo::new(
"66adc9350f2cc9b250b69abddab733dd55e1a588".to_string(),
"https://github.com/organization/example-repository".to_string(),
))
.version("v1.12.07".to_string()),
));
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.CreateDORADeployment", true);
let api = DORAMetricsAPI::with_config(configuration);
let resp = api.create_dora_deployment(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo run
/**
* Send a deployment event for DORA Metrics returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
configuration.unstableOperations["v2.createDORADeployment"] = true;
const apiInstance = new v2.DORAMetricsApi(configuration);
const params: v2.DORAMetricsApiCreateDORADeploymentRequest = {
body: {
data: {
attributes: {
finishedAt: 1693491984000000000,
git: {
commitSha: "66adc9350f2cc9b250b69abddab733dd55e1a588",
repositoryUrl: "https://github.com/organization/example-repository",
},
service: "shopist",
startedAt: 1693491974000000000,
version: "v1.12.07",
},
},
},
};
apiInstance
.createDORADeployment(params)
.then((data: v2.DORADeploymentResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"
Note: This endpoint is in public beta. If you have any feedback, contact Datadog support.
POST https://api.ap1.datadoghq.com/api/v2/dora/incidenthttps://api.datadoghq.eu/api/v2/dora/incidenthttps://api.ddog-gov.com/api/v2/dora/incidenthttps://api.datadoghq.com/api/v2/dora/incidenthttps://api.us3.datadoghq.com/api/v2/dora/incidenthttps://api.us5.datadoghq.com/api/v2/dora/incident
Use this API endpoint to provide data about incidents for DORA metrics.
This is necessary for:
항목
유형
설명
data [required]
object
The JSON:API data.
attributes [required]
object
Attributes to create a DORA incident 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, and it should not be older than 1 hour.
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. Required to update a previously sent incident.
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"
}
}
}
OK
Response after receiving a DORA incident event.
항목
유형
설명
data [required]
object
Response after receiving a DORA incident event.
id [required]
string
The ID of the received DORA incident event.
type
enum
JSON:API type for DORA incident events.
Allowed enum values: dora_incident
default: dora_incident
{
"data": {
"id": "4242fcdd31586083",
"type": "dora_incident"
}
}
OK - but delayed due to incident
Response after receiving a DORA incident event.
항목
유형
설명
data [required]
object
Response after receiving a DORA incident event.
id [required]
string
The ID of the received DORA incident event.
type
enum
JSON:API type for DORA incident events.
Allowed enum values: dora_incident
default: dora_incident
{
"data": {
"id": "4242fcdd31586083",
"type": "dora_incident"
}
}
Bad Request
API error response.
항목
유형
설명
errors [required]
[object]
A list of errors.
detail
string
A human-readable explanation specific to this occurrence of the error.
status
string
Status code of the response.
title
string
Short human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"status": "400",
"title": "Bad Request"
}
]
}
Not Authorized
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/dora/incident" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
}
EOF
// Send an incident event for DORA Metrics returns "OK" response
package main
import (
"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"
)
func main() {
body := datadogV2.DORAIncidentRequest{
Data: datadogV2.DORAIncidentRequestData{
Attributes: datadogV2.DORAIncidentRequestAttributes{
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()
configuration.SetUnstableOperationEnabled("v2.CreateDORAIncident", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewDORAMetricsApi(apiClient)
resp, r, err := api.CreateDORAIncident(ctx, body)
if err != 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)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"
// Send an incident event for DORA Metrics returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DoraMetricsApi;
import com.datadog.api.client.v2.model.DORAGitInfo;
import com.datadog.api.client.v2.model.DORAIncidentRequest;
import com.datadog.api.client.v2.model.DORAIncidentRequestAttributes;
import com.datadog.api.client.v2.model.DORAIncidentRequestData;
import com.datadog.api.client.v2.model.DORAIncidentResponse;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setUnstableOperationEnabled("v2.createDORAIncident", true);
DoraMetricsApi apiInstance = new DoraMetricsApi(defaultClient);
DORAIncidentRequest body =
new DORAIncidentRequest()
.data(
new DORAIncidentRequestData()
.attributes(
new DORAIncidentRequestAttributes()
.finishedAt(1707842944600000000L)
.git(
new DORAGitInfo()
.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 {
DORAIncidentResponse result = apiInstance.createDORAIncident(body);
System.out.println(result);
} catch (ApiException e) {
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();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"
"""
Send an incident event for DORA Metrics returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.dora_metrics_api import DORAMetricsApi
from datadog_api_client.v2.model.dora_git_info import DORAGitInfo
from datadog_api_client.v2.model.dora_incident_request import DORAIncidentRequest
from datadog_api_client.v2.model.dora_incident_request_attributes import DORAIncidentRequestAttributes
from datadog_api_client.v2.model.dora_incident_request_data import DORAIncidentRequestData
body = DORAIncidentRequest(
data=DORAIncidentRequestData(
attributes=DORAIncidentRequestAttributes(
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()
configuration.unstable_operations["create_dora_incident"] = True
with ApiClient(configuration) as api_client:
api_instance = DORAMetricsApi(api_client)
response = api_instance.create_dora_incident(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"
# Send an incident event for DORA Metrics returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.create_dora_incident".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DORAMetricsAPI.new
body = DatadogAPIClient::V2::DORAIncidentRequest.new({
data: DatadogAPIClient::V2::DORAIncidentRequestData.new({
attributes: DatadogAPIClient::V2::DORAIncidentRequestAttributes.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",
}),
}),
})
p api_instance.create_dora_incident(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"
// Send an incident event for DORA Metrics returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_dora_metrics::DORAMetricsAPI;
use datadog_api_client::datadogV2::model::DORAGitInfo;
use datadog_api_client::datadogV2::model::DORAIncidentRequest;
use datadog_api_client::datadogV2::model::DORAIncidentRequestAttributes;
use datadog_api_client::datadogV2::model::DORAIncidentRequestData;
#[tokio::main]
async fn main() {
let body = DORAIncidentRequest::new(DORAIncidentRequestData::new(
DORAIncidentRequestAttributes::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()),
));
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.CreateDORAIncident", true);
let api = DORAMetricsAPI::with_config(configuration);
let resp = api.create_dora_incident(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo run
/**
* Send an incident event for DORA Metrics returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
configuration.unstableOperations["v2.createDORAIncident"] = true;
const apiInstance = new v2.DORAMetricsApi(configuration);
const params: 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.DORAIncidentResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"