script.create

Descripción

object script.create(object/array scripts)

Este método permite crear nuevas secuencias de comandos.

Este método solo está disponible para el tipo de usuario Super administrador. Los permisos para activar el método se pueden revocar en la configuración de roles de usuario. Ver User roles para más información.

Parámetros

(object/array) Scripts para crear.

El método acepta scripts con el standard script properties.

Valores de retorno

(object) Devuelve un objeto que contiene los IDs de los scripts creados bajo la propiedad scriptids. El orden de los IDs devueltos coincide con el orden de los scripts pasados.

Ejemplos

Crear un script de webhook

Cree un script de webhook que envíe una solicitud HTTP a un servicio externo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.create",
           "params": {
               "name": "Webhook script",
               "command": "try {\n var request = new HttpRequest(),\n response,\n data;\n\n request.addHeader('Content-Type: application/json');\n\n response = request.post('https://localhost/post', value);\n\n try {\n response = JSON.parse(response);\n }\n catch (error) {\n response = null;\n }\n\n if (request.getStatus() !== 200 || !('data' in response)) {\n throw 'Unexpected response.';\n }\n\n data = JSON.stringify(response.data);\n\n Zabbix.Log(3, '[Webhook Script] response data: ' + data);\n\n return data;\n}\ncatch (error) {\n Zabbix.Log(3, '[Webhook Script] script execution failed: ' + error);\n throw 'Execution failed: ' + error + '.';\n}",
               "type": 5,
               "timeout": "40s",
               "parameters": [
                   {
                       "name": "token",
                       "value": "{$WEBHOOK.TOKEN}"
                   },
                   {
                       "name": "host",
                       "value": "{HOST.HOST}"
                   },
                   {
                       "name": "v",
                       "value": "2.2"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }
Copy
✔ Copied

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "scriptids": [
                   "3"
               ]
           },
           "id": 1
       }
Copy
✔ Copied

Crear un script SSH

Cree un script SSH con autenticación de clave pública que se pueda ejecutar en un host y tiene un menú contextual.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.create",
           "params": {
               "name": "SSH script",
               "command": "my script command",
               "type": 2,
               "username": "John",
               "publickey": "pub.key",
               "privatekey": "priv.key",
               "password": "secret",
               "port": "12345",
               "scope": 2,
               "menu_path": "All scripts/SSH",
               "usrgrpid": "7",
               "groupid": "4"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }
Copy
✔ Copied

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "scriptids": [
                   "5"
               ]
           },
           "id": 1
       }
Copy
✔ Copied

Crear un guión personalizado

Cree un guión personalizado que reiniciará un servidor. El guión requerirá acceso escrito al host y mostrará un mensaje de configuración antes de ejecutarlo en la interfaz.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.create",
           "params": {
               "name": "Reboot server",
               "command": "reboot server 1",
               "confirmation": "Are you sure you would like to reboot the server?",
               "scope": 2,
               "type": 0
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }
Copy
✔ Copied

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "scriptids": [
                   "4"
               ]
           },
           "id": 1
       }
Copy
✔ Copied

Fuente

CScript::create() en ui/include/classes/api/services/CScript.php.

To toggle search highlight, press Ctrl+Alt+H
Have an improvement suggestion for this page? Select the text that could be improved and press Ctrl+Enter to send it to the editors.