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.

Pieprasījums:

{
    "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ā.

Pieprasījums:

{
    "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ā.

Pieprasījums:

{
    "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.