Áú»¢¶Ä²©

script.create

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô

object script.create(object/array scripts)

Este m¨¦todo permite crear nuevos scripts.

Este m¨¦todo solo est¨¢ disponible para el tipo de usuario Super administrador. Los permisos para llamar al m¨¦todo se pueden revocar en la configuraci¨®n de roles de usuario. Ver Roles de usuario para obtener m¨¢s informaci¨®n.

±Ê²¹°ù¨¢³¾±ð³Ù°ù´Ç²õ

(objeto/matriz) Scripts para crear.

El m¨¦todo acepta scripts con las propiedades est¨¢ndar del script.

Valores de retorno

(objeto) Devuelve un objeto que contiene los ID de los scripts creados bajo la propiedad scriptids. El orden de los ID devueltos coincide. 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 Áú»¢¶Ä²©.log(3, '[Webhook Script] response data: ' + data);\n\n return data;\n}\ncatch (error) {\n Áú»¢¶Ä²©.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"
                   }
               ]
           },
           "id": 1
       }

Respuesta:

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

Crear un script SSH

Cree un script SSH con autenticaci¨®n de clave p¨²blica que se pueda ejecutar en un equipo y que tenga un men¨² contextual.

Solicitud:

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

Respuesta:

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

Crear un script personalizado

Cree un script personalizado que reiniciar¨¢ un servidor. El gui¨®n requerir¨¢ acceso de escritura al equipo y solicitar¨¢ al usuario una entrada manual. Tras el env¨ªo exitoso de la entrada, el script mostrar¨¢ un mensaje de confirmaci¨®n en la interfaz.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.create",
           "params": {
               "name": "Reboot server",
               "command": "reboot server {MANUALINPUT}",
               "type": 0,
               "scope": 2,
               "confirmation": "Are you sure you would like to reboot the server {MANUALINPUT}?",
               "manualinput": 1,
               "manualinput_prompt": "Which server you want to reboot?",
               "manualinput_validator": "[1-9]",
               "manualinput_validator_type": 0,
               "manualinput_default_value": "1"
           },
           "id": 1
       }

Respuesta:

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

Crear un script de tipo URL

Cree un script de tipo URL para el alcance del equipo que permanezca en la misma ventana y tenga texto de confirmaci¨®n.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.create",
           "params": {
               "name": "URL script",
               "type": 6,
               "scope": 2,
               "url": "http://zabbix/ui/zabbix.php?action=host.edit&hostid={HOST.ID}",
               "confirmation": "Edit host {HOST.NAME}?",
               "new_window": 0
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "scriptids": [
                   "56"
               ]
           },
           "id": 1
       }

Crear un script de tipo URL con entrada manual

Cree un script de tipo URL para el alcance del evento que se abra en una nueva ventana y tenga entrada manual.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.create",
           "params": {
               "name": "URL script with manual input",
               "type": 6,
               "scope": 4,
               "url": "http://zabbix/ui/zabbix.php?action={MANUALINPUT}",
               "new_window": 1,
               "manualinput": 1,
               "manualinput_prompt": "Select a page to open:",
               "manualinput_validator": "dashboard.view,script.list,actionlog.list",
               "manualinput_validator_type": 1
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "scriptids": [
                   "57"
               ]
           },
           "id": 1
       }

Fuente

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