Create a Dial Testing Task¶
POST /api/v1/dialing_task/add
Overview¶
Body Request Parameters¶
Parameter Name | Type | Required | Description |
---|---|---|---|
type | string | Y | Dial Testing type Can be empty: false $lowerIn: ['http', 'tcp', 'dns', 'browser', 'icmp', 'websocket'] |
regions | array | Y | Region list Can be empty: false |
task | json | Y | Task configuration Can be empty: false $maxDictLength: 20000 |
task.url | string | Y | URL Can be empty: false |
task.method | string | N | Optional when type is browser Can be empty: false |
task.name | string | Y | Task name Can be empty: false |
task.frequency | string | Y | Dial Testing frequency Can be empty: false Options: ['1m', '5m', '15m', '30m', '1h', '6h', '12h', '24h'] |
task.advance_options | json | N | Advanced options Can be empty: false |
task.advance_options_headless | json | N | Advanced options setting for browser Can be empty: false |
task.success_when_logic | string | N | Logical relationship within success_when conditions, default is and Can be empty: false Options: ['and', 'or'] |
task.success_when | array | Y | Success_when Can be empty: false |
task.enable_traceroute | boolean | N | Traceroute Can be empty: false |
task.packet_count | integer | N | Number of pings sent each time Can be empty: false |
task.host | string | Y | Required when type=tcp/icmp Can be empty: false |
task.port | string | Y | Required when type=tcp Can be empty: false |
task.timeout | string | N | Optional when type=tcp/icmp Can be empty: false |
task.message | string | Y | Required when type=websocket Can be empty: false |
task.post_mode | string | N | Availability judgment mode Default-default Script-mode-script Can be empty: false |
task.post_script | string | N | Script content Can be empty: false Allow empty string: true |
tags | array | N | List of tag names Can be empty: false Example: ['xx', 'yy'] |
Additional Parameter Explanation¶
Data Description.
Parameter Name | Type | Required | Description |
---|---|---|---|
type | string | Y | Dial Testing type, options: http , tcp , dns , browser , icmp , websocket |
regions | array | Y | Task execution region |
task | json | Y | Task details |
task.name | string | Y | Task name |
task.url | string | Y | URL |
task.method | string | Y | URL request method |
task.status | string | Y | Task status, options: ok , stop |
task.frequency | string | Y | Task frequency |
task.advance_options | json | N | |
task.success_when_logic | enum | N | Options: [and , or ], logical relationship within success_when parameters, default is and |
task.success_when | array | Y/N | Required when type=http, optional when type=browser |
task.enable_traceroute | boolean | N | Optional when type=tcp/icmp |
task.packet_count | integer | N | Optional when type=icmp |
task.host | string | Y | Required when type=tcp/icmp |
task.port | string | Y | Required when type=tcp |
task.timeout | string | N | Optional when type=tcp/icmp |
task.message | string | Y/N | Required when type=websocket |
task.post_mode | string | N | Availability judgment mode Default-default Script-mode-script |
task.post_script | string | N | Availability judgment script content |
tags | array | N | Tag list |
Note: For detailed information about the internal parameters of the dial testing task task, refer to Custom Dial Testing¶
{
"regions": ["hangzhou", "shanghai"],
"task":{
"url":"http://example.com/some/api",
"method":"POST",
"external_id":"ID defined by external system for this task",
"post_url":" Provided by Studio backend https://dataway.cn?token=tkn_xxx",
"status":"ok/stop",
"name":"Task Naming",
"frequency":"1m",
"regions":"beijing",
"advance_options":{
"request_options":{
"follow_redirect":true,
"headers":{
"header1":"value1",
"header2":"value2"
},
"cookies":"",
"auth":{
"username":"",
"password":""
}
},
"request_body":{
"body_type":"text/plain|application/json|text/xml",
"body":""
},
"certificate":{
"ignore_server_certificate_error":false,
"private_key":"",
"certificate":""
},
"proxy":{
"url":"",
"headers":{
"header1":"value1"
}
}
},
"success_when_logic": "and",
"success_when":[
{
"body":{
"contains":"",
"not_contains":"",
"is":"",
"is_not":"",
"match_regex":"",
"not_match_regex":""
},
"header":{
"header-name":{
"contains":"",
"not_contains":"",
"is":"",
"is_not":"",
"match_regex":"",
"not_match_regex":""
},
"another-header-name":"..."
},
"response_time":"100ms",
"status_code":[
{ "is":"200" },
{ "is_not":"400"},
{"match_regex":"ok*"},
{"not_match_regex":"*bad"}
]
},
{
"AND_another_assert":"..."
}
]
},
"tags": ["Tag Name"]
}
*** Explanation of task.frequency parameter *
The time frequency range for Free Plan workspaces is 30m/1h/6h/12h/24h
Request Example¶
curl 'https://openapi.guance.com/api/v1/dialing_task/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"type":"http","regions":["reg_xxxx20"],"task":{"frequency":"1m","method":"GET","url":"https://www.baidu.com","name":"test","advance_options":{"request_options":{"follow_redirect":false,"headers":{},"cookies":"","auth":{"username":"","password":""}},"request_body":{"body_type":"","body":""},"secret":{"not_save":false}},"success_when":[{"body":[{"contains":"200"}]}],"success_when_logic":"and"},"tags":["test"]}' \
--compressed
Response¶
{
"code": 200,
"content": {
"createAt": 1686193610,
"creator": "acnt_xxxx32",
"deleteAt": -1,
"id": null,
"regions": [
"reg_xxxx20"
],
"status": 0,
"tagInfo": [
{
"id": "tag_xxxx32",
"name": "test"
}
],
"task": {
"advance_options": {
"request_body": {
"body": "",
"body_type": ""
},
"request_options": {
"auth": {
"password": "",
"username": ""
},
"cookies": "",
"follow_redirect": false,
"headers": {}
},
"secret": {
"not_save": false
}
},
"external_id": "dial_xxxx32",
"frequency": "1m",
"method": "GET",
"name": "test",
"owner_external_id": "wksp_xxxx32",
"post_url": "http://testing-openway.cloudcare.cn?token=tkn_xxxxx",
"status": "ok",
"tagInfo": [],
"success_when": [
{
"body": [
{
"contains": "200"
}
]
}
],
"success_when_logic": "and",
"url": "https://www.baidu.com"
},
"type": "http",
"updateAt": 1686193610,
"updator": "acnt_xxxx32",
"uuid": "dial_xxxx32",
"workspaceUUID": "wksp_xxxx32"
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "712401530723551303"
}