Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

script.execute

Descrição

object script.execute(object parameters)

Este método permite executar um script em um host ou evento. Exceto para scripts do tipo URL. Estes não são executáveis.

Este método está disponível para usuários de qualquer tipo. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Veja Funções de usuário para mais informações.

Parâmetros

(object) Parâmetros contendo o ID do script a ser executado, o ID do host ou o ID do evento e o valor de manualinput.

Parâmetro Tipo Descrição
scriptid ID ID do script a ser executado.

Comportamento do parâmetro:
- obrigatório
hostid ID ID do host no qual executar o script.

Comportamento do parâmetro:
- obrigatório se eventid não estiver definido
eventid ID ID do evento no qual executar o script.

Comportamento do parâmetro:
- obrigatório se hostid não estiver definido
manualinput string Valor fornecido pelo usuário para executar o script, substituindo
a macro {MANUALINPUT}.

Valores de retorno

(object) Retorna o resultado da execução do script.

Propriedade Tipo Descrição
response string Se o script foi executado com sucesso.

Valor possível - success.
value string Saída do script.
debug object Contém um objeto debug se um script webhook for executado. Para outros tipos de script, contém um objeto vazio.

Exemplos

Execute um script de webhook

Execute um script de webhook que envia uma solicitação HTTP para um serviço externo.

Request:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "4",
               "hostid": "30079"
           },
           "id": 1
       }

Resposta:

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

Executar um script personalizado

Executar um script "ping" em um host.

Requisição:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "1",
               "hostid": "30079"
           },
           "id": 1
       }

Resposta:

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

Execute um script personalizado com entrada manual

Execute um script "ping" com o comando "ping -c {MANUALINPUT} {HOST.CONN}; case $? in [01]) true;; *) false;; esac" em um host.

Requisição:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "7",
               "hostid": "30079",
               "manualinput": "2"
           },
           "id": 1
       }

Resposta:

{
           "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",
               "debug": []
           },
           "id": 1
       }

Origem

CScript::execute() em ui/include/classes/api/services/CScript.php.