Type object
File match *.synthetics.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/datadog-continuous-testing/latest.json
Source https://raw.githubusercontent.com/DataDog/schema/main/datadog-ci/synthetics/test-config.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

tests TriggerConfig[] required

Definitions

Assertion object
actual string | number | string | object required
operator string required
Values: "contains" "doesNotContain" "is" "isNot" "isInLessThan" "isInMoreThan" "lessThan" "lessThanOrEqual" "moreThan" "moreThanOrEqual" "matches" "doesNotMatch" "validatesJSONPath" "validatesXPath"
target string | number | string | object required
type string required
valid boolean required
errorMessage string
property string
BasicAuthCredentials object
password string required
username string required
CookiesObject object
value string required

Cookie header to add or replace (e.g. name1=value1;name2=value2;).

append boolean

Whether to append or replace the original cookies.

ExecutionRule string
LocalTestDefinition object
config object required
4 nested properties
assertions Assertion[] required
variables string[] required
request object
7 nested properties
headers Record<string, string> required
method string required
timeout number required
url string required
dnsServer string
host string
port number
steps object[]
locations string[] required
name string required
options object required
11 nested properties
bindings null | array
ci object
1 nested properties
executionRule string required
Values: "blocking" "non_blocking" "skipped"
device_ids string[]
min_failure_duration number
min_location_failed
mobileApplication object
3 nested properties
applicationId string required
referenceId string required
referenceType string required
Values: "latest" "version" "temporary"
monitor_name string
monitor_options
monitor_priority number
retry object
1 nested properties
count number
tick_every number
type string required
Values: "api" "browser" "mobile"
public_id string

Can be used to link to an existing remote test.

subtype string
LocalTriggerConfig object
localTestDefinition object required
8 nested properties
config object required
4 nested properties
assertions Assertion[] required
variables string[] required
request object
steps object[]
locations string[] required
name string required
options object required
11 nested properties
bindings null | array
ci object
device_ids string[]
min_failure_duration number
min_location_failed
mobileApplication object
monitor_name string
monitor_options
monitor_priority number
retry object
tick_every number
type string required
Values: "api" "browser" "mobile"
public_id string

Can be used to link to an existing remote test.

subtype string
suite string

Name of a test suite (for JUnit reports).

testOverrides object
20 nested properties
allowInsecureCertificates boolean

Override the certificate checks in Synthetic API and Browser tests.

basicAuth object
2 nested properties
password string required
username string required
body string

Override the data to send in API tests.

bodyType string

Override the content type for the data to send in API tests.

cookies string | CookiesObject

Override the cookies for API and browser tests.

  • If this is a string, it is used to replace the original cookies.
  • If this is an object, the format must be {append?: boolean, value: string}, and depending on the value of append, it is appended or replaces the original cookies.
defaultStepTimeout number

Override the maximum duration of steps in seconds for browser tests. This does not override individually set step timeouts.

deviceIds string[]

Override the list of devices on which to run the Synthetic tests.

executionRule string
Values: "blocking" "non_blocking" "skipped"
followRedirects boolean

Override whether or not to follow HTTP redirections in API tests.

headers Record<string, string>

Override the headers in the API and browser tests.

This object specifies the headers to be replaced in the test. It should have keys representing the names of the headers to be replaced, and values indicating the new header values.

locations string[]

Override the list of locations to run the test from. The possible values are listed in this API response.

mobileApplicationVersion string

Override the mobile application version for Synthetic mobile application tests. The version must be uploaded and available within Datadog.

mobileApplicationVersionFilePath string

Override the application version for Synthetic mobile application tests.

resourceUrlSubstitutionRegexes string[]

An array of regex patterns to modify resource URLs in the test. This can be useful for dynamically changing resource URLs during test execution.

Each regex pattern should be in the format:

  • your_regex|your_substitution: The pipe-based syntax, to avoid any conflicts with / characters in URLs.
    • For example, https://example.com(.*)|http://subdomain.example.com$1 to transform https://example.com/resource to http://subdomain.example.com/resource.
  • s/your_regex/your_substitution/modifiers: The slash syntax, which supports modifiers.
    • For example, s/(https://www.)(.*)/$1staging-$2/ to transform https://www.example.com/resource into https://www.staging-example.com/resource.
retry object
2 nested properties
count number required

The number of attempts to perform in case of test failure.

interval number required

The interval between attempts in milliseconds.

setCookies string | CookiesObject

Override the Set-Cookie headers in browser tests only.

  • If this is a string, it is used to replace the original Set-Cookie headers.
  • If this is an object, the format must be {append?: boolean, value: string}, and depending on the value of append, it is appended or replaces the original Set-Cookie headers.
startUrl string

Override the start URL for API and browser tests.

Local and global variables specified in the URL (for example, {{ URL }}) are replaced when the test is run.

You can combine this with the variables override to override both the start URL and the variable values. For example:

--override startUrl="{{ URL }}?static_hash={{ STATIC_HASH }}" --override variables.STATIC_HASH=abcdef
startUrlSubstitutionRegex string

A regex to modify the starting URL of browser and HTTP tests, whether it comes from the original test or the startUrl override.

If the URL contains variables, this regex applies after the interpolation of the variables.

There are two possible formats:

  • your_regex|your_substitution: The pipe-based syntax, to avoid any conflicts with / characters in URLs.
    • For example, https://example.com(.*)|http://subdomain.example.com$1 to transform https://example.com/test to http://subdomain.example.com/test.
  • s/your_regex/your_substitution/modifiers: The slash syntax, which supports modifiers.
    • For example, s/(https://www.)(.*)/$1extra-$2/ to transform https://www.example.com into https://www.extra-example.com.
testTimeout number

Override the maximum duration in seconds for browser tests.

variables Record<string, string>

Override existing or inject new local and global variables in Synthetic tests.

This object should include keys corresponding to the names of the variables to be replaced, and values representing the new values for these variables.

MobileApplication object
applicationId string required
referenceId string required
referenceType string required
Values: "latest" "version" "temporary"
MultiLocator Record<string, any>
Operator string
OptionsWithUnsupportedFields object
bindings null | array
ci object
1 nested properties
executionRule string required
Values: "blocking" "non_blocking" "skipped"
device_ids string[]
min_failure_duration number
min_location_failed
mobileApplication object
3 nested properties
applicationId string required
referenceId string required
referenceType string required
Values: "latest" "version" "temporary"
monitor_name string
monitor_options
monitor_priority number
retry object
1 nested properties
count number
tick_every number
RemoteTriggerConfig object
id string required

Public ID of a test (e.g. abc-def-ghi), or its full URL (e.g. https://app.datadoghq.com/synthetics/details/abc-def-ghi).

pattern=^(https://.*)?([a-z2-9]{3}-[a-z2-9]{3}-[a-z2-9]{3})$
suite string

Name of a test suite (for JUnit reports).

testOverrides object
20 nested properties
allowInsecureCertificates boolean

Override the certificate checks in Synthetic API and Browser tests.

basicAuth object
2 nested properties
password string required
username string required
body string

Override the data to send in API tests.

bodyType string

Override the content type for the data to send in API tests.

cookies string | CookiesObject

Override the cookies for API and browser tests.

  • If this is a string, it is used to replace the original cookies.
  • If this is an object, the format must be {append?: boolean, value: string}, and depending on the value of append, it is appended or replaces the original cookies.
defaultStepTimeout number

Override the maximum duration of steps in seconds for browser tests. This does not override individually set step timeouts.

deviceIds string[]

Override the list of devices on which to run the Synthetic tests.

executionRule string
Values: "blocking" "non_blocking" "skipped"
followRedirects boolean

Override whether or not to follow HTTP redirections in API tests.

headers Record<string, string>

Override the headers in the API and browser tests.

This object specifies the headers to be replaced in the test. It should have keys representing the names of the headers to be replaced, and values indicating the new header values.

locations string[]

Override the list of locations to run the test from. The possible values are listed in this API response.

mobileApplicationVersion string

Override the mobile application version for Synthetic mobile application tests. The version must be uploaded and available within Datadog.

mobileApplicationVersionFilePath string

Override the application version for Synthetic mobile application tests.

resourceUrlSubstitutionRegexes string[]

An array of regex patterns to modify resource URLs in the test. This can be useful for dynamically changing resource URLs during test execution.

Each regex pattern should be in the format:

  • your_regex|your_substitution: The pipe-based syntax, to avoid any conflicts with / characters in URLs.
    • For example, https://example.com(.*)|http://subdomain.example.com$1 to transform https://example.com/resource to http://subdomain.example.com/resource.
  • s/your_regex/your_substitution/modifiers: The slash syntax, which supports modifiers.
    • For example, s/(https://www.)(.*)/$1staging-$2/ to transform https://www.example.com/resource into https://www.staging-example.com/resource.
retry object
2 nested properties
count number required

The number of attempts to perform in case of test failure.

interval number required

The interval between attempts in milliseconds.

setCookies string | CookiesObject

Override the Set-Cookie headers in browser tests only.

  • If this is a string, it is used to replace the original Set-Cookie headers.
  • If this is an object, the format must be {append?: boolean, value: string}, and depending on the value of append, it is appended or replaces the original Set-Cookie headers.
startUrl string

Override the start URL for API and browser tests.

Local and global variables specified in the URL (for example, {{ URL }}) are replaced when the test is run.

You can combine this with the variables override to override both the start URL and the variable values. For example:

--override startUrl="{{ URL }}?static_hash={{ STATIC_HASH }}" --override variables.STATIC_HASH=abcdef
startUrlSubstitutionRegex string

A regex to modify the starting URL of browser and HTTP tests, whether it comes from the original test or the startUrl override.

If the URL contains variables, this regex applies after the interpolation of the variables.

There are two possible formats:

  • your_regex|your_substitution: The pipe-based syntax, to avoid any conflicts with / characters in URLs.
    • For example, https://example.com(.*)|http://subdomain.example.com$1 to transform https://example.com/test to http://subdomain.example.com/test.
  • s/your_regex/your_substitution/modifiers: The slash syntax, which supports modifiers.
    • For example, s/(https://www.)(.*)/$1extra-$2/ to transform https://www.example.com into https://www.extra-example.com.
testTimeout number

Override the maximum duration in seconds for browser tests.

variables Record<string, string>

Override existing or inject new local and global variables in Synthetic tests.

This object should include keys corresponding to the names of the variables to be replaced, and values representing the new values for these variables.

RetryConfig object
count number required

The number of attempts to perform in case of test failure.

interval number required

The interval between attempts in milliseconds.

TestStepWithUnsupportedFields object
params object required
1 nested properties
element object
2 nested properties
multiLocator Record<string, any>
userLocator
public_id string
TriggerConfig RemoteTriggerConfig | LocalTriggerConfig
UserConfigOverride object
allowInsecureCertificates boolean

Override the certificate checks in Synthetic API and Browser tests.

basicAuth object
2 nested properties
password string required
username string required
body string

Override the data to send in API tests.

bodyType string

Override the content type for the data to send in API tests.

cookies string | CookiesObject

Override the cookies for API and browser tests.

  • If this is a string, it is used to replace the original cookies.
  • If this is an object, the format must be {append?: boolean, value: string}, and depending on the value of append, it is appended or replaces the original cookies.
defaultStepTimeout number

Override the maximum duration of steps in seconds for browser tests. This does not override individually set step timeouts.

deviceIds string[]

Override the list of devices on which to run the Synthetic tests.

executionRule string
Values: "blocking" "non_blocking" "skipped"
followRedirects boolean

Override whether or not to follow HTTP redirections in API tests.

headers Record<string, string>

Override the headers in the API and browser tests.

This object specifies the headers to be replaced in the test. It should have keys representing the names of the headers to be replaced, and values indicating the new header values.

locations string[]

Override the list of locations to run the test from. The possible values are listed in this API response.

mobileApplicationVersion string

Override the mobile application version for Synthetic mobile application tests. The version must be uploaded and available within Datadog.

mobileApplicationVersionFilePath string

Override the application version for Synthetic mobile application tests.

resourceUrlSubstitutionRegexes string[]

An array of regex patterns to modify resource URLs in the test. This can be useful for dynamically changing resource URLs during test execution.

Each regex pattern should be in the format:

  • your_regex|your_substitution: The pipe-based syntax, to avoid any conflicts with / characters in URLs.
    • For example, https://example.com(.*)|http://subdomain.example.com$1 to transform https://example.com/resource to http://subdomain.example.com/resource.
  • s/your_regex/your_substitution/modifiers: The slash syntax, which supports modifiers.
    • For example, s/(https://www.)(.*)/$1staging-$2/ to transform https://www.example.com/resource into https://www.staging-example.com/resource.
retry object
2 nested properties
count number required

The number of attempts to perform in case of test failure.

interval number required

The interval between attempts in milliseconds.

setCookies string | CookiesObject

Override the Set-Cookie headers in browser tests only.

  • If this is a string, it is used to replace the original Set-Cookie headers.
  • If this is an object, the format must be {append?: boolean, value: string}, and depending on the value of append, it is appended or replaces the original Set-Cookie headers.
startUrl string

Override the start URL for API and browser tests.

Local and global variables specified in the URL (for example, {{ URL }}) are replaced when the test is run.

You can combine this with the variables override to override both the start URL and the variable values. For example:

--override startUrl="{{ URL }}?static_hash={{ STATIC_HASH }}" --override variables.STATIC_HASH=abcdef
startUrlSubstitutionRegex string

A regex to modify the starting URL of browser and HTTP tests, whether it comes from the original test or the startUrl override.

If the URL contains variables, this regex applies after the interpolation of the variables.

There are two possible formats:

  • your_regex|your_substitution: The pipe-based syntax, to avoid any conflicts with / characters in URLs.
    • For example, https://example.com(.*)|http://subdomain.example.com$1 to transform https://example.com/test to http://subdomain.example.com/test.
  • s/your_regex/your_substitution/modifiers: The slash syntax, which supports modifiers.
    • For example, s/(https://www.)(.*)/$1extra-$2/ to transform https://www.example.com into https://www.extra-example.com.
testTimeout number

Override the maximum duration in seconds for browser tests.

variables Record<string, string>

Override existing or inject new local and global variables in Synthetic tests.

This object should include keys corresponding to the names of the variables to be replaced, and values representing the new values for these variables.