Copy"jsonSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Default HTTP Action Configuration Schema Definition",
"description": "Specification for a configuration of kind http-action-template.",
"type": "object",
"required": ["name", "tagName"],
"properties": {
"name": {
"type": "string",
"description": "A configuration name that is unique with this namespace.",
"example": "HTTP Action: Appdynamics Default"
},
"tagName": {
"type": "string",
"description": "specifies which endpoint will this template call ( i.e. ServiceNow, PagerDuty, etc )",
"example": "PagerDuty"
},
"maxRedirects": {
"type": "integer",
"description": "maximum allowed redirects for the HTTP call",
"minimum": 0,
"default": 5
},
"overallTimeoutMillis": {
"type": "integer",
"description": "milliseconds after which the HTTP call should timeout",
"minimum": 0,
"maximum": 300000,
"default": 2000
},
"socketTimeoutMillis": {
"type": "integer",
"description": "milliseconds after which the HTTP call should timeout",
"minimum": 0,
"maximum": 150000,
"default": 1000
},
"connectionTimeoutMillis": {
"type": "integer",
"description": "milliseconds after which the HTTP call should timeout",
"minimum": 0,
"maximum": 150000,
"default": 1000
},
"requestParameters": {
"type": "object",
"description": "HTTP details ( URL, method, encoding )",
"required": ["rawUrl", "requestType"],
"properties": {
"rawUrl": {
"type": "string",
"description": "where should a HTTP call be made",
"example": "https://appdynamics.com/desired-path/${custom-variable}"
},
"requestType": {
"type": "string",
"description": "which method to use while calling rawUrl",
"enum": ["GET", "PUT", "POST", "DELETE", "PATCH"]
},
"encodingType": {
"$ref": "#/definitions/Encoding"
}
},
"additionalProperties": false
},
"requestHeaders": {
"type": "array",
"description": "headers to be manually added in the request",
"items": {
"$ref": "#/definitions/KeyValuePair"
},
"example": [{ "authorization": "Basic dXNlcm5hbWU6cGFzc3dvcmQ=" }, { "x-custom-header": "custom header value" }]
},
"customVariables": {
"type": "array",
"description": "custom variables to be substituted throughout the request",
"items": {
"$ref": "#/definitions/KeyValuePair"
},
"example": [
{ "key": "ui", "value": "https://tenant-name.observe.appdynamics.com" },
{ "key": "logo-link", "value": "https://appdynamics.com/favicon.ico" }
]
},
"requestPayload": {
"type": "object",
"description": "payload data to be sent with the request",
"required": [],
"properties": {
"contentType": {
"$ref": "#/definitions/ContentType"
},
"rawPayload": {
"type": "string",
"description": "specifies the payload in raw format",
"example": "{\"property\": \"property value\", \"entity\":\"${eventList[0].entity_id}\"}"
},
"formData": {
"type": "array",
"description": "form like data to be sent with the request",
"items": {
"$ref": "#/definitions/KeyValuePair"
},
"example": [
{ "key": "field", "value": "field value" },
{ "key": "entity", "value": "${eventList[0].entity_id}" }
]
},
"encodingType": {
"$ref": "#/definitions/Encoding"
}
},
"additionalProperties": false
},
"successCriteria": {
"type": "array",
"description": "if any criteria here matches the HTTP call is marked as success",
"items": {
"$ref": "#/definitions/HttpResponseCriteria"
},
"example": [{ "statusCode": 200 }, { "statusCode": 201, "expectPayload": true }]
},
"failureCriteria": {
"type": "array",
"description": "if any criteria here matches the HTTP call is marked as failure",
"items": {
"$ref": "#/definitions/HttpResponseCriteria"
},
"example": [{ "statusCode": 500 }, { "statusCode": 400, "expectPayload": true }]
}
},
"definitions": {
"ContentType": {
"type": "string",
"description": "specifies content type either to be sent to to be received in a HTTP call",
"example": "application/json",
"default": "text/plain"
},
"Encoding": {
"type": "string",
"description": "specifies the encoding",
"enum": ["UTF-8", "ISO-8859-1"],
"default": "UTF-8"
},
"KeyValuePair": {
"type": "object",
"description": "stores a key value pair",
"required": ["key", "value"],
"properties": {
"key": {
"type": "string",
"description": "stores the key in the pair",
"example" : "ui"
},
"value": {
"type": "string",
"description": "stores the value in the pair",
"example" : "https://tenant-name.observe.appdynamics.com"
}
},
"additionalProperties": false
},
"HttpResponseCriteria": {
"type": "object",
"description": "defines a criteria to matched after a HTTP response is received",
"required": ["statusCode"],
"properties": {
"statusCode": {
"type": "integer",
"description": "expected status code for this criteria to match",
"example": 201
},
"expectPayload": {
"type": "boolean",
"description": "does the received response has a payload with it",
"default": false
},
"contentType": {
"$ref": "#/definitions/ContentType"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
}