Update Flaky Tests Management policies

PATCH https://api.ap1.datadoghq.com/api/v2/ci/test-optimization/settings/policieshttps://api.ap2.datadoghq.com/api/v2/ci/test-optimization/settings/policieshttps://api.datadoghq.eu/api/v2/ci/test-optimization/settings/policieshttps://api.ddog-gov.com/api/v2/ci/test-optimization/settings/policieshttps://api.us2.ddog-gov.com/api/v2/ci/test-optimization/settings/policieshttps://api.datadoghq.com/api/v2/ci/test-optimization/settings/policieshttps://api.us3.datadoghq.com/api/v2/ci/test-optimization/settings/policieshttps://api.us5.datadoghq.com/api/v2/ci/test-optimization/settings/policies

Overview

Partially update Flaky Tests Management repository-level policies for the given repository. Only provided policy blocks are updated; omitted blocks are left unchanged. This endpoint requires the test_optimization_settings_write permission.

OAuth apps require the test_optimization_settings_write authorization scope to access this endpoint.

Request

Body Data (required)

Expand All

Field

Type

Description

data [required]

object

Data object for update Flaky Tests Management policies request.

attributes [required]

object

Attributes for updating Flaky Tests Management policies. Only provided policy blocks are updated; omitted blocks are left unchanged.

attempt_to_fix

object

Configuration for the attempt-to-fix Flaky Tests Management policy.

retries

int64

Number of retries when attempting to fix a flaky test. Must be greater than 0.

disabled

object

Configuration for the disabled Flaky Tests Management policy.

auto_disable_rule

object

Automatic disable triggering rule based on a time window and test status.

enabled

boolean

Whether this auto-disable rule is enabled.

status

enum

Test status that the disable policy applies to. Must be either active or quarantined. Allowed enum values: active,quarantined

window_seconds

int64

Time window in seconds over which flakiness is evaluated. Must be greater than 0.

branch_rule

object

Branch filtering rule for a Flaky Tests Management policy.

branches

[string]

List of branches to which the policy applies.

enabled

boolean

Whether this branch rule is enabled.

excluded_branches

[string]

List of branches excluded from the policy.

excluded_test_services

[string]

List of test services excluded from the policy.

enabled

boolean

Whether the disabled policy is enabled.

failure_rate_rule

object

Failure-rate-based rule for the disabled policy.

branches

[string]

List of branches to which this rule applies.

enabled

boolean

Whether this failure rate rule is enabled.

min_runs

int64

Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0.

status

enum

Test status that the disable policy applies to. Must be either active or quarantined. Allowed enum values: active,quarantined

threshold

double

Failure rate threshold (0.0–1.0) above which the rule triggers.

quarantined

object

Configuration for the quarantined Flaky Tests Management policy.

auto_quarantine_rule

object

Automatic quarantine triggering rule based on a time window.

enabled

boolean

Whether this auto-quarantine rule is enabled.

window_seconds

int64

Time window in seconds over which flakiness is evaluated. Must be greater than 0.

branch_rule

object

Branch filtering rule for a Flaky Tests Management policy.

branches

[string]

List of branches to which the policy applies.

enabled

boolean

Whether this branch rule is enabled.

excluded_branches

[string]

List of branches excluded from the policy.

excluded_test_services

[string]

List of test services excluded from the policy.

enabled

boolean

Whether the quarantined policy is enabled.

failure_rate_rule

object

Failure-rate-based rule for the quarantined policy.

branches

[string]

List of branches to which this rule applies.

enabled

boolean

Whether this failure rate rule is enabled.

min_runs

int64

Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0.

threshold

double

Failure rate threshold (0.0–1.0) above which the rule triggers.

repository_id [required]

string

The repository identifier.

type [required]

enum

JSON:API type for update Flaky Tests Management policies request. The value must always be test_optimization_update_flaky_tests_management_policies_request. Allowed enum values: test_optimization_update_flaky_tests_management_policies_request

{
  "data": {
    "attributes": {
      "attempt_to_fix": {
        "retries": 3
      },
      "disabled": {
        "auto_disable_rule": {
          "enabled": false,
          "status": "active",
          "window_seconds": 3600
        },
        "branch_rule": {
          "branches": [
            "main"
          ],
          "enabled": true,
          "excluded_branches": [
            []
          ],
          "excluded_test_services": [
            []
          ]
        },
        "enabled": false,
        "failure_rate_rule": {
          "branches": [
            []
          ],
          "enabled": false,
          "min_runs": 10,
          "status": "active",
          "threshold": 0.5
        }
      },
      "quarantined": {
        "auto_quarantine_rule": {
          "enabled": true,
          "window_seconds": 3600
        },
        "branch_rule": {
          "branches": [
            "main"
          ],
          "enabled": true,
          "excluded_branches": [
            []
          ],
          "excluded_test_services": [
            []
          ]
        },
        "enabled": true,
        "failure_rate_rule": {
          "branches": [
            "main"
          ],
          "enabled": true,
          "min_runs": 10,
          "threshold": 0.5
        }
      },
      "repository_id": "github.com/datadog/shopist"
    },
    "type": "test_optimization_update_flaky_tests_management_policies_request"
  }
}

Response

OK

Response object containing Flaky Tests Management policies for a repository.

Expand All

Field

Type

Description

data

object

Data object for Flaky Tests Management policies response.

attributes

object

Attributes of the Flaky Tests Management policies for a repository.

attempt_to_fix

object

Configuration for the attempt-to-fix Flaky Tests Management policy.

retries

int64

Number of retries when attempting to fix a flaky test. Must be greater than 0.

disabled

object

Configuration for the disabled Flaky Tests Management policy.

auto_disable_rule

object

Automatic disable triggering rule based on a time window and test status.

enabled

boolean

Whether this auto-disable rule is enabled.

status

enum

Test status that the disable policy applies to. Must be either active or quarantined. Allowed enum values: active,quarantined

window_seconds

int64

Time window in seconds over which flakiness is evaluated. Must be greater than 0.

branch_rule

object

Branch filtering rule for a Flaky Tests Management policy.

branches

[string]

List of branches to which the policy applies.

enabled

boolean

Whether this branch rule is enabled.

excluded_branches

[string]

List of branches excluded from the policy.

excluded_test_services

[string]

List of test services excluded from the policy.

enabled

boolean

Whether the disabled policy is enabled.

failure_rate_rule

object

Failure-rate-based rule for the disabled policy.

branches

[string]

List of branches to which this rule applies.

enabled

boolean

Whether this failure rate rule is enabled.

min_runs

int64

Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0.

status

enum

Test status that the disable policy applies to. Must be either active or quarantined. Allowed enum values: active,quarantined

threshold

double

Failure rate threshold (0.0–1.0) above which the rule triggers.

quarantined

object

Configuration for the quarantined Flaky Tests Management policy.

auto_quarantine_rule

object

Automatic quarantine triggering rule based on a time window.

enabled

boolean

Whether this auto-quarantine rule is enabled.

window_seconds

int64

Time window in seconds over which flakiness is evaluated. Must be greater than 0.

branch_rule

object

Branch filtering rule for a Flaky Tests Management policy.

branches

[string]

List of branches to which the policy applies.

enabled

boolean

Whether this branch rule is enabled.

excluded_branches

[string]

List of branches excluded from the policy.

excluded_test_services

[string]

List of test services excluded from the policy.

enabled

boolean

Whether the quarantined policy is enabled.

failure_rate_rule

object

Failure-rate-based rule for the quarantined policy.

branches

[string]

List of branches to which this rule applies.

enabled

boolean

Whether this failure rate rule is enabled.

min_runs

int64

Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0.

threshold

double

Failure rate threshold (0.0–1.0) above which the rule triggers.

repository_id

string

The repository identifier.

id

string

The repository identifier used as the resource ID.

type

enum

JSON:API type for Flaky Tests Management policies response. The value must always be test_optimization_flaky_tests_management_policies. Allowed enum values: test_optimization_flaky_tests_management_policies

{
  "data": {
    "attributes": {
      "attempt_to_fix": {
        "retries": 3
      },
      "disabled": {
        "auto_disable_rule": {
          "enabled": false,
          "status": "active",
          "window_seconds": 3600
        },
        "branch_rule": {
          "branches": [
            "main"
          ],
          "enabled": true,
          "excluded_branches": [
            []
          ],
          "excluded_test_services": [
            []
          ]
        },
        "enabled": false,
        "failure_rate_rule": {
          "branches": [
            []
          ],
          "enabled": false,
          "min_runs": 10,
          "status": "active",
          "threshold": 0.5
        }
      },
      "quarantined": {
        "auto_quarantine_rule": {
          "enabled": true,
          "window_seconds": 3600
        },
        "branch_rule": {
          "branches": [
            "main"
          ],
          "enabled": true,
          "excluded_branches": [
            []
          ],
          "excluded_test_services": [
            []
          ]
        },
        "enabled": true,
        "failure_rate_rule": {
          "branches": [
            "main"
          ],
          "enabled": true,
          "min_runs": 10,
          "threshold": 0.5
        }
      },
      "repository_id": "github.com/datadog/shopist"
    },
    "id": "github.com/datadog/shopist",
    "type": "test_optimization_flaky_tests_management_policies"
  }
}

Bad Request

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Not Authorized

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Not Found

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Code Example

                  ## default
# 

# Curl command
curl -X PATCH "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/ci/test-optimization/settings/policies" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "attempt_to_fix": { "retries": 3 }, "disabled": { "enabled": false }, "quarantined": { "auto_quarantine_rule": { "enabled": true, "window_seconds": 3600 }, "branch_rule": { "branches": [ "main" ], "enabled": true, "excluded_branches": [], "excluded_test_services": [] }, "enabled": true, "failure_rate_rule": { "branches": [ "main" ], "enabled": true, "min_runs": 10, "threshold": 0.5 } }, "repository_id": "github.com/example-org/example-repo" }, "type": "test_optimization_update_flaky_tests_management_policies_request" } } EOF
"""
Update Flaky Tests Management policies returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.test_optimization_api import TestOptimizationApi
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attempt_to_fix import (
    TestOptimizationFlakyTestsManagementPoliciesAttemptToFix,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_disable_rule import (
    TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_quarantine_rule import (
    TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_branch_rule import (
    TestOptimizationFlakyTestsManagementPoliciesBranchRule,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled import (
    TestOptimizationFlakyTestsManagementPoliciesDisabled,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule import (
    TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_status import (
    TestOptimizationFlakyTestsManagementPoliciesDisabledStatus,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined import (
    TestOptimizationFlakyTestsManagementPoliciesQuarantined,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule import (
    TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request import (
    TestOptimizationFlakyTestsManagementPoliciesUpdateRequest,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_attributes import (
    TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes,
)
from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_data import (
    TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData,
)
from datadog_api_client.v2.model.test_optimization_update_flaky_tests_management_policies_request_data_type import (
    TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType,
)

body = TestOptimizationFlakyTestsManagementPoliciesUpdateRequest(
    data=TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData(
        attributes=TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes(
            attempt_to_fix=TestOptimizationFlakyTestsManagementPoliciesAttemptToFix(
                retries=3,
            ),
            disabled=TestOptimizationFlakyTestsManagementPoliciesDisabled(
                auto_disable_rule=TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule(
                    enabled=False,
                    status=TestOptimizationFlakyTestsManagementPoliciesDisabledStatus.ACTIVE,
                    window_seconds=3600,
                ),
                branch_rule=TestOptimizationFlakyTestsManagementPoliciesBranchRule(
                    branches=[
                        "main",
                    ],
                    enabled=True,
                    excluded_branches=[],
                    excluded_test_services=[],
                ),
                enabled=False,
                failure_rate_rule=TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule(
                    branches=[],
                    enabled=False,
                    min_runs=10,
                    status=TestOptimizationFlakyTestsManagementPoliciesDisabledStatus.ACTIVE,
                    threshold=0.5,
                ),
            ),
            quarantined=TestOptimizationFlakyTestsManagementPoliciesQuarantined(
                auto_quarantine_rule=TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule(
                    enabled=True,
                    window_seconds=3600,
                ),
                branch_rule=TestOptimizationFlakyTestsManagementPoliciesBranchRule(
                    branches=[
                        "main",
                    ],
                    enabled=True,
                    excluded_branches=[],
                    excluded_test_services=[],
                ),
                enabled=True,
                failure_rate_rule=TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule(
                    branches=[
                        "main",
                    ],
                    enabled=True,
                    min_runs=10,
                    threshold=0.5,
                ),
            ),
            repository_id="github.com/datadog/shopist",
        ),
        type=TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType.TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = TestOptimizationApi(api_client)
    response = api_instance.update_flaky_tests_management_policies(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Update Flaky Tests Management policies returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::TestOptimizationAPI.new

body = DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesUpdateRequest.new({
  data: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData.new({
    attributes: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes.new({
      attempt_to_fix: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesAttemptToFix.new({
        retries: 3,
      }),
      disabled: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesDisabled.new({
        auto_disable_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule.new({
          enabled: false,
          status: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesDisabledStatus::ACTIVE,
          window_seconds: 3600,
        }),
        branch_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesBranchRule.new({
          branches: [
            "main",
          ],
          enabled: true,
          excluded_branches: [],
          excluded_test_services: [],
        }),
        enabled: false,
        failure_rate_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule.new({
          branches: [],
          enabled: false,
          min_runs: 10,
          status: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesDisabledStatus::ACTIVE,
          threshold: 0.5,
        }),
      }),
      quarantined: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesQuarantined.new({
        auto_quarantine_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule.new({
          enabled: true,
          window_seconds: 3600,
        }),
        branch_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesBranchRule.new({
          branches: [
            "main",
          ],
          enabled: true,
          excluded_branches: [],
          excluded_test_services: [],
        }),
        enabled: true,
        failure_rate_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule.new({
          branches: [
            "main",
          ],
          enabled: true,
          min_runs: 10,
          threshold: 0.5,
        }),
      }),
      repository_id: "github.com/datadog/shopist",
    }),
    type: DatadogAPIClient::V2::TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType::TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST,
  }),
})
p api_instance.update_flaky_tests_management_policies(body)

Instructions

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.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Update Flaky Tests Management policies 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.TestOptimizationFlakyTestsManagementPoliciesUpdateRequest{
		Data: datadogV2.TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData{
			Attributes: datadogV2.TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes{
				AttemptToFix: &datadogV2.TestOptimizationFlakyTestsManagementPoliciesAttemptToFix{
					Retries: datadog.PtrInt64(3),
				},
				Disabled: &datadogV2.TestOptimizationFlakyTestsManagementPoliciesDisabled{
					AutoDisableRule: &datadogV2.TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule{
						Enabled:       datadog.PtrBool(false),
						Status:        datadogV2.TESTOPTIMIZATIONFLAKYTESTSMANAGEMENTPOLICIESDISABLEDSTATUS_ACTIVE.Ptr(),
						WindowSeconds: datadog.PtrInt64(3600),
					},
					BranchRule: &datadogV2.TestOptimizationFlakyTestsManagementPoliciesBranchRule{
						Branches: []string{
							"main",
						},
						Enabled:              datadog.PtrBool(true),
						ExcludedBranches:     []string{},
						ExcludedTestServices: []string{},
					},
					Enabled: datadog.PtrBool(false),
					FailureRateRule: &datadogV2.TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule{
						Branches:  []string{},
						Enabled:   datadog.PtrBool(false),
						MinRuns:   datadog.PtrInt64(10),
						Status:    datadogV2.TESTOPTIMIZATIONFLAKYTESTSMANAGEMENTPOLICIESDISABLEDSTATUS_ACTIVE.Ptr(),
						Threshold: datadog.PtrFloat64(0.5),
					},
				},
				Quarantined: &datadogV2.TestOptimizationFlakyTestsManagementPoliciesQuarantined{
					AutoQuarantineRule: &datadogV2.TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule{
						Enabled:       datadog.PtrBool(true),
						WindowSeconds: datadog.PtrInt64(3600),
					},
					BranchRule: &datadogV2.TestOptimizationFlakyTestsManagementPoliciesBranchRule{
						Branches: []string{
							"main",
						},
						Enabled:              datadog.PtrBool(true),
						ExcludedBranches:     []string{},
						ExcludedTestServices: []string{},
					},
					Enabled: datadog.PtrBool(true),
					FailureRateRule: &datadogV2.TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule{
						Branches: []string{
							"main",
						},
						Enabled:   datadog.PtrBool(true),
						MinRuns:   datadog.PtrInt64(10),
						Threshold: datadog.PtrFloat64(0.5),
					},
				},
				RepositoryId: "github.com/datadog/shopist",
			},
			Type: datadogV2.TESTOPTIMIZATIONUPDATEFLAKYTESTSMANAGEMENTPOLICIESREQUESTDATATYPE_TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewTestOptimizationApi(apiClient)
	resp, r, err := api.UpdateFlakyTestsManagementPolicies(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `TestOptimizationApi.UpdateFlakyTestsManagementPolicies`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `TestOptimizationApi.UpdateFlakyTestsManagementPolicies`:\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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Update Flaky Tests Management policies returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.TestOptimizationApi;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesAttemptToFix;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesBranchRule;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesDisabled;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesDisabledStatus;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesQuarantined;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesResponse;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesUpdateRequest;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes;
import com.datadog.api.client.v2.model.TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData;
import com.datadog.api.client.v2.model.TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType;
import java.util.Collections;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    TestOptimizationApi apiInstance = new TestOptimizationApi(defaultClient);

    TestOptimizationFlakyTestsManagementPoliciesUpdateRequest body =
        new TestOptimizationFlakyTestsManagementPoliciesUpdateRequest()
            .data(
                new TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData()
                    .attributes(
                        new TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes()
                            .attemptToFix(
                                new TestOptimizationFlakyTestsManagementPoliciesAttemptToFix()
                                    .retries(3L))
                            .disabled(
                                new TestOptimizationFlakyTestsManagementPoliciesDisabled()
                                    .autoDisableRule(
                                        new TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule()
                                            .enabled(false)
                                            .status(
                                                TestOptimizationFlakyTestsManagementPoliciesDisabledStatus
                                                    .ACTIVE)
                                            .windowSeconds(3600L))
                                    .branchRule(
                                        new TestOptimizationFlakyTestsManagementPoliciesBranchRule()
                                            .branches(Collections.singletonList("main"))
                                            .enabled(true))
                                    .enabled(false)
                                    .failureRateRule(
                                        new TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule()
                                            .enabled(false)
                                            .minRuns(10L)
                                            .status(
                                                TestOptimizationFlakyTestsManagementPoliciesDisabledStatus
                                                    .ACTIVE)
                                            .threshold(0.5)))
                            .quarantined(
                                new TestOptimizationFlakyTestsManagementPoliciesQuarantined()
                                    .autoQuarantineRule(
                                        new TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule()
                                            .enabled(true)
                                            .windowSeconds(3600L))
                                    .branchRule(
                                        new TestOptimizationFlakyTestsManagementPoliciesBranchRule()
                                            .branches(Collections.singletonList("main"))
                                            .enabled(true))
                                    .enabled(true)
                                    .failureRateRule(
                                        new TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule()
                                            .branches(Collections.singletonList("main"))
                                            .enabled(true)
                                            .minRuns(10L)
                                            .threshold(0.5)))
                            .repositoryId("github.com/datadog/shopist"))
                    .type(
                        TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType
                            .TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST));

    try {
      TestOptimizationFlakyTestsManagementPoliciesResponse result =
          apiInstance.updateFlakyTestsManagementPolicies(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling TestOptimizationApi#updateFlakyTestsManagementPolicies");
      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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Update Flaky Tests Management policies returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_test_optimization::TestOptimizationAPI;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesAttemptToFix;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesBranchRule;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesDisabled;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesDisabledStatus;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesQuarantined;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesUpdateRequest;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes;
use datadog_api_client::datadogV2::model::TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData;
use datadog_api_client::datadogV2::model::TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType;

#[tokio::main]
async fn main() {
    let body =
        TestOptimizationFlakyTestsManagementPoliciesUpdateRequest::new(
            TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData::new(
                TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes::new(
                    "github.com/datadog/shopist".to_string(),
                )
                    .attempt_to_fix(TestOptimizationFlakyTestsManagementPoliciesAttemptToFix::new().retries(3))
                    .disabled(
                        TestOptimizationFlakyTestsManagementPoliciesDisabled::new()
                            .auto_disable_rule(
                                TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule::new()
                                    .enabled(false)
                                    .status(TestOptimizationFlakyTestsManagementPoliciesDisabledStatus::ACTIVE)
                                    .window_seconds(3600),
                            )
                            .branch_rule(
                                TestOptimizationFlakyTestsManagementPoliciesBranchRule::new()
                                    .branches(vec!["main".to_string()])
                                    .enabled(true)
                                    .excluded_branches(vec![])
                                    .excluded_test_services(vec![]),
                            )
                            .enabled(false)
                            .failure_rate_rule(
                                TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule::new()
                                    .branches(vec![])
                                    .enabled(false)
                                    .min_runs(10)
                                    .status(TestOptimizationFlakyTestsManagementPoliciesDisabledStatus::ACTIVE)
                                    .threshold(0.5 as f64),
                            ),
                    )
                    .quarantined(
                        TestOptimizationFlakyTestsManagementPoliciesQuarantined::new()
                            .auto_quarantine_rule(
                                TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule::new()
                                    .enabled(true)
                                    .window_seconds(3600),
                            )
                            .branch_rule(
                                TestOptimizationFlakyTestsManagementPoliciesBranchRule::new()
                                    .branches(vec!["main".to_string()])
                                    .enabled(true)
                                    .excluded_branches(vec![])
                                    .excluded_test_services(vec![]),
                            )
                            .enabled(true)
                            .failure_rate_rule(
                                TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule::new()
                                    .branches(vec!["main".to_string()])
                                    .enabled(true)
                                    .min_runs(10)
                                    .threshold(0.5 as f64),
                            ),
                    ),
                TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType
                ::TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST,
            ),
        );
    let configuration = datadog::Configuration::new();
    let api = TestOptimizationAPI::with_config(configuration);
    let resp = api.update_flaky_tests_management_policies(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Update Flaky Tests Management policies returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.TestOptimizationApi(configuration);

const params: v2.TestOptimizationApiUpdateFlakyTestsManagementPoliciesRequest =
  {
    body: {
      data: {
        attributes: {
          attemptToFix: {
            retries: 3,
          },
          disabled: {
            autoDisableRule: {
              enabled: false,
              status: "active",
              windowSeconds: 3600,
            },
            branchRule: {
              branches: ["main"],
              enabled: true,
              excludedBranches: [],
              excludedTestServices: [],
            },
            enabled: false,
            failureRateRule: {
              branches: [],
              enabled: false,
              minRuns: 10,
              status: "active",
              threshold: 0.5,
            },
          },
          quarantined: {
            autoQuarantineRule: {
              enabled: true,
              windowSeconds: 3600,
            },
            branchRule: {
              branches: ["main"],
              enabled: true,
              excludedBranches: [],
              excludedTestServices: [],
            },
            enabled: true,
            failureRateRule: {
              branches: ["main"],
              enabled: true,
              minRuns: 10,
              threshold: 0.5,
            },
          },
          repositoryId: "github.com/datadog/shopist",
        },
        type: "test_optimization_update_flaky_tests_management_policies_request",
      },
    },
  };

apiInstance
  .updateFlakyTestsManagementPolicies(params)
  .then((data: v2.TestOptimizationFlakyTestsManagementPoliciesResponse) => {
    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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"