script.execute
Apraksts
object script.execute(object parameters)
Šī metode ļauj izpildīt skriptu hostā vai notikumā. Izņemot URL tipa skriptus. Tie nav izpildāmi.
Šī metode ir pieejama jebkura tipa lietotājiem. Atļaujas izsaukt šo metodi var tikt atsauktas lietotāja lomas iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāju lomas.
Parametri
(object) Parametri, kas satur izpildāmā skripta ID, vai nu
hosta ID, vai notikuma ID un manualinput vērtību.
| Parametrs | Type | Apraksts |
|---|---|---|
| scriptid | ID | Izpildāmā skripta ID. Parametra darbība: - obligāts |
| hostid | ID | Hosta ID, uz kura izpildīt skriptu. Parametra darbība: - obligāts, ja eventid nav iestatīts |
| eventid | ID | Notikuma ID, uz kura izpildīt skriptu. Parametra darbība: - obligāts, ja hostid nav iestatīts |
| manualinput | string | Lietotāja norādīta vērtība skripta izpildei, aizstājot makrosu {MANUALINPUT}. |
Atgrieztās vērtības
(object) Atgriež skripta izpildes rezultātu.
| Īpašība | Type | Apraksts |
|---|---|---|
| response | string | Vai skripts tika izpildīts veiksmīgi. Iespējamā vērtība - success. |
| value | string | Skripta izvade. |
| debug | object | Satur debug objektu, ja tiek izpildīts webhook skripts. Citiem skriptu tipiem tas satur tukšu objektu. |
Piemēri
Palaist webhook skriptu
Palaidiet webhook skriptu, kas nosūta HTTP pieprasījumu uz ārēju servisu.
{
"jsonrpc": "2.0",
"method": "script.execute",
"params": {
"scriptid": "4",
"hostid": "30079"
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": {
"response": "success",
"value": "{\"status\":\"sent\",\"timestamp\":\"1611235391\"}",
"debug": {
"logs": [
{
"level": 3,
"ms": 480,
"message": "[Webhook Script] HTTP status: 200."
}
],
"ms": 495
}
},
"id": 1
}
Palaist pielāgotu skriptu
Palaidiet "ping" skriptu hostā.
{
"jsonrpc": "2.0",
"method": "script.execute",
"params": {
"scriptid": "1",
"hostid": "30079"
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": {
"response": "success",
"value": "PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.074 ms\n64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.030 ms\n64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.030 ms\n\n--- 127.0.0.1 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 1998ms\nrtt min/avg/max/mdev = 0.030/0.044/0.074/0.022 ms\n",
"debug": []
},
"id": 1
}
Palaidiet pielāgotu skriptu ar manuālu ievadi
Palaidiet "ping" skriptu ar komandu "ping -c {MANUALINPUT} {HOST.CONN}; case $? in [01]) true;; *) false;; esac" hostā.
{
"jsonrpc": "2.0",
"method": "script.execute",
"params": {
"scriptid": "7",
"hostid": "30079",
"manualinput": "2"
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": {
"response": "success",
"value": "PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.051 ms\n64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.025 ms\n\n--- 127.0.0.1 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 1021ms\nrtt min/avg/max/mdev = 0.025/0.038/0.051/0.013 ms\n",
"debug": []
},
"id": 1
}
Avots
CScript::execute() failā ui/include/classes/api/services/CScript.php.