Trigger a deployment gate evaluation
https://api.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.us3.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.us5.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.datadoghq.eu/api/v2/deployments/gates/evaluationhttps://api.ap1.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.ap2.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.uk1.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.ddog-gov.com/api/v2/deployments/gates/evaluationhttps://api.us2.ddog-gov.com/api/v2/deployments/gates/evaluationOverview
Triggers an asynchronous deployment gate evaluation for the given service and environment.
Returns an evaluation ID that can be used to poll for the result via the
GET /api/v2/deployments/gates/evaluation/{id} endpoint.
When the configuration attribute is provided, rules are evaluated inline from that configuration
and no pre-configured gate is required. When configuration is omitted, rules are resolved from the
gate pre-configured for the given service and environment through the Datadog UI, API, or Terraform.
Request
Body Data (required)
data [required]Data for a deployment gate evaluation request.
attributes [required]Attributes for a deployment gate evaluation request.
When configuration is provided, rules are evaluated inline from that configuration.
When omitted, rules are resolved from the preconfigured gate for the given service and environment.
configurationInline rule definitions for a deployment gate evaluation. When provided, rules are evaluated directly from this configuration instead of using the preconfigured gate rules. At least one rule is required.
dry_runGate-level dry run. When enabled, the rules are evaluated normally but the gate always returns pass. The real result is visible in the Datadog UI.
rules [required]The list of rules to evaluate. At least one rule is required.
<type=monitor>A monitor rule to evaluate as part of a deployment gate evaluation.
dry_runRule-level dry run. When enabled, the rule is evaluated normally but always returns pass. The real result is visible in the Datadog UI.
name [required]Human-readable name for this rule.
optionsOptions for a monitor rule.
durationEvaluation window in seconds. Maximum 7200 (2 hours).
query [required]Monitor search query.
type [required]The type identifier for a monitor rule.
monitor<type=faulty_deployment_detection>A faulty deployment detection rule to evaluate as part of a deployment gate evaluation.
dry_runRule-level dry run. When enabled, the rule is evaluated normally but it always returns pass. The real result is visible in the Datadog UI.
name [required]Human-readable name for this rule.
optionsOptions for a faulty_deployment_detection rule.
allowed_resourcesAPM resource names to include in analysis. Mutually exclusive with excluded_resources.
durationEvaluation window in seconds. Maximum 7200 (2 hours).
excluded_resourcesAPM resource names to exclude from analysis.
type [required]The type identifier for a faulty deployment detection rule.
faulty_deployment_detectionenv [required]The environment of the deployment.
identifierThe identifier of the deployment gate. Defaults to "default".
defaultprimary_tagA primary tag to scope APM Faulty Deployment Detection rules.
service [required]The service being deployed.
versionThe version of the deployment. Required for APM Faulty Deployment Detection rules.
type [required]JSON:API type for a deployment gate evaluation request.
deployment_gates_evaluation_requestdeployment_gates_evaluation_request{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}Response
Accepted
Response for a deployment gate evaluation request.
dataData for a deployment gate evaluation response.
attributes [required]Attributes for a deployment gate evaluation response.
evaluation_id [required]The unique identifier of the gate evaluation.
id [required]The unique identifier of the evaluation response.
type [required]JSON:API type for a deployment gate evaluation response.
deployment_gates_evaluation_responsedeployment_gates_evaluation_response{
"data": {
"attributes": {
"evaluation_id": "e9d2f04f-4f4b-494b-86e5-52f03e10c8e9"
},
"id": "e9d2f04f-4f4b-494b-86e5-52f03e10c8e9",
"type": "deployment_gates_evaluation_response"
}
}Bad request.
Bad request.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Unauthorized
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Forbidden
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Deployment gate not found.
Deployment gate not found.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Internal Server Error
Errors occurred.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Code Example
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/deployments/gates/evaluation" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/deployments/gates/evaluation" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/deployments/gates/evaluation" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/deployments/gates/evaluation" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/deployments/gates/evaluation" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/deployments/gates/evaluation" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/deployments/gates/evaluation" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/deployments/gates/evaluation" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/deployments/gates/evaluation" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"env": "production",
"identifier": "pre",
"service": "my-service"
},
"type": "deployment_gates_evaluation_request"
}
}
EOF// Trigger a deployment gates evaluation returns "Accepted" 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() {
// there is a valid "deployment_gate" in the system
DeploymentGateDataAttributesIdentifier := os.Getenv("DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER")
body := datadogV2.DeploymentGatesEvaluationRequest{
Data: datadogV2.DeploymentGatesEvaluationRequestData{
Attributes: datadogV2.DeploymentGatesEvaluationRequestAttributes{
Env: "production",
Identifier: datadog.PtrString(DeploymentGateDataAttributesIdentifier),
Service: "my-service",
},
Type: datadogV2.DEPLOYMENTGATESEVALUATIONREQUESTDATATYPE_DEPLOYMENT_GATES_EVALUATION_REQUEST,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.TriggerDeploymentGatesEvaluation", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewDeploymentGatesApi(apiClient)
resp, r, err := api.TriggerDeploymentGatesEvaluation(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.TriggerDeploymentGatesEvaluation`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `DeploymentGatesApi.TriggerDeploymentGatesEvaluation`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Trigger a deployment gates evaluation returns "Accepted" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;
import com.datadog.api.client.v2.model.DeploymentGatesEvaluationRequest;
import com.datadog.api.client.v2.model.DeploymentGatesEvaluationRequestAttributes;
import com.datadog.api.client.v2.model.DeploymentGatesEvaluationRequestData;
import com.datadog.api.client.v2.model.DeploymentGatesEvaluationRequestDataType;
import com.datadog.api.client.v2.model.DeploymentGatesEvaluationResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
defaultClient.setUnstableOperationEnabled("v2.triggerDeploymentGatesEvaluation", true);
DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);
// there is a valid "deployment_gate" in the system
String DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER =
System.getenv("DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER");
DeploymentGatesEvaluationRequest body =
new DeploymentGatesEvaluationRequest()
.data(
new DeploymentGatesEvaluationRequestData()
.attributes(
new DeploymentGatesEvaluationRequestAttributes()
.env("production")
.identifier(DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER)
.service("my-service"))
.type(
DeploymentGatesEvaluationRequestDataType
.DEPLOYMENT_GATES_EVALUATION_REQUEST));
try {
DeploymentGatesEvaluationResponse result = apiInstance.triggerDeploymentGatesEvaluation(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling DeploymentGatesApi#triggerDeploymentGatesEvaluation");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Trigger a deployment gates evaluation returns "Accepted" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi
from datadog_api_client.v2.model.deployment_gates_evaluation_request import DeploymentGatesEvaluationRequest
from datadog_api_client.v2.model.deployment_gates_evaluation_request_attributes import (
DeploymentGatesEvaluationRequestAttributes,
)
from datadog_api_client.v2.model.deployment_gates_evaluation_request_data import DeploymentGatesEvaluationRequestData
from datadog_api_client.v2.model.deployment_gates_evaluation_request_data_type import (
DeploymentGatesEvaluationRequestDataType,
)
# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER = environ["DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER"]
body = DeploymentGatesEvaluationRequest(
data=DeploymentGatesEvaluationRequestData(
attributes=DeploymentGatesEvaluationRequestAttributes(
env="production",
identifier=DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER,
service="my-service",
),
type=DeploymentGatesEvaluationRequestDataType.DEPLOYMENT_GATES_EVALUATION_REQUEST,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["trigger_deployment_gates_evaluation"] = True
with ApiClient(configuration) as api_client:
api_instance = DeploymentGatesApi(api_client)
response = api_instance.trigger_deployment_gates_evaluation(body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Trigger a deployment gates evaluation returns "Accepted" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.trigger_deployment_gates_evaluation".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new
# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER = ENV["DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER"]
body = DatadogAPIClient::V2::DeploymentGatesEvaluationRequest.new({
data: DatadogAPIClient::V2::DeploymentGatesEvaluationRequestData.new({
attributes: DatadogAPIClient::V2::DeploymentGatesEvaluationRequestAttributes.new({
env: "production",
identifier: DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER,
service: "my-service",
}),
type: DatadogAPIClient::V2::DeploymentGatesEvaluationRequestDataType::DEPLOYMENT_GATES_EVALUATION_REQUEST,
}),
})
p api_instance.trigger_deployment_gates_evaluation(body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Trigger a deployment gates evaluation returns "Accepted" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;
use datadog_api_client::datadogV2::model::DeploymentGatesEvaluationRequest;
use datadog_api_client::datadogV2::model::DeploymentGatesEvaluationRequestAttributes;
use datadog_api_client::datadogV2::model::DeploymentGatesEvaluationRequestData;
use datadog_api_client::datadogV2::model::DeploymentGatesEvaluationRequestDataType;
#[tokio::main]
async fn main() {
// there is a valid "deployment_gate" in the system
let deployment_gate_data_attributes_identifier =
std::env::var("DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER").unwrap();
let body = DeploymentGatesEvaluationRequest::new(DeploymentGatesEvaluationRequestData::new(
DeploymentGatesEvaluationRequestAttributes::new(
"production".to_string(),
"my-service".to_string(),
)
.identifier(deployment_gate_data_attributes_identifier.clone()),
DeploymentGatesEvaluationRequestDataType::DEPLOYMENT_GATES_EVALUATION_REQUEST,
));
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.trigger_deployment_gates_evaluation", true);
let api = DeploymentGatesAPI::with_config(configuration);
let resp = api.trigger_deployment_gates_evaluation(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Trigger a deployment gates evaluation returns "Accepted" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
configuration.unstableOperations["v2.triggerDeploymentGatesEvaluation"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);
// there is a valid "deployment_gate" in the system
const DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER = process.env
.DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER as string;
const params: v2.DeploymentGatesApiTriggerDeploymentGatesEvaluationRequest = {
body: {
data: {
attributes: {
env: "production",
identifier: DEPLOYMENT_GATE_DATA_ATTRIBUTES_IDENTIFIER,
service: "my-service",
},
type: "deployment_gates_evaluation_request",
},
},
};
apiInstance
.triggerDeploymentGatesEvaluation(params)
.then((data: v2.DeploymentGatesEvaluationResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"