script.execute
Apraksts
object script.execute(object parameters)
Šī metode ļauj palaist skriptu uz hosta vai notikuma. Izņēmums ir URL tipa skripti; tos nevar izpildīt.
Šī metode ir pieejama jebkura tipa lietotājiem. Tiesības izsaukt šo metodi var atsaukt lietotāja lomas iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāja 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.