This topic describes how webhook endpoints render lists in tags and in fields such as ${service}
. Note the following:
JSON substitution is aware of both quoted and unquoted strings. This is important for lists or strings that might have implicit quotes.
If the value for a substitution is undefined, the syntax for the substitution displays instead of a value.
Non-string fields are rendered as strings when you reference a specific tag such as
${tags.Timezone}
. If you specify all tags (${tags}
), the tags object is rendered as a list of lists, as shown in the last example in the following table.
The following incident field examples assume these field and tag definitions:
{
...
"services": [ "service1", "service2", "service" ],
...
"tags": {
"domain": [ "abc", "def", "ghi" ],
"name": ["joe", "bob", "billy" ],
"timezone" : "CST"
}
}
Original payload in webhook endpoint definition | Result after substitution |
---|---|
{
...
"services": ${services}
...
} | {
...
"services": [
"service1",
"service2",
"service"
]
...
} |
{
...
"services": "${services}"
...
} | {
...
"services": "["service1", "service2", "service3"]"
...
} |
{
...
"services": "Here are the services: ${services} as a list"
...
} | {
...
"services": "Here are the services: ["service1", "service2", "service3"] as a list"
...
} |
{
...
"Domain": ${tags.Domain},
"name": ${tags.Name},
"Timezone": ${tags.Timezone},
"Unknown": ${tags.Unknown}
...
} | {
...
"Domain": ["abc","def","ghi"],
"name": ["joe","bob","billy"],
"Timezone": "CST",
"Unknown": []
...
} |
{
...
"Domain": "${tags.domain}",
"Name": "${tags.name}",
"timezone": "${tags.timezone}",
"Unknown": ${tags.Unknown}
...
} | {
...
"Domain": "["abc", "def", "ghi"],
"name": ["joe", "bob", "billy"],
"timezone": ["CST"],
"Unknown": []
...
} |
{
...
"Domain": "Here are the Domain tags: ${tags.Domain}",
"Name": "Name tags: ${tags.Name}",
"Timezone": "The timezone is ${tags.Timezone}",
"Unknown": "The unknown tags: ${tags.Unknown}"
...
} | {
...
"Domain": "Here are the Domain tags: ["abc", "def", "ghi"]",
"Name": "Name tags: ["joe", "bob", "billy"],
"Timezone": "The timezone is ["CST"]",
"Unknown": "The unknown tags: "
...
} |
{
...
"All Tags": ${tags}
...
} | {
...
"All Tags": {
"Domain": ["abc","def","ghi"],
"Name": ["joe","bob","billy"],
"Timezone": ["CST"]
}
...
} |