[comment]: # ({4f2ac53b-4f2ac53b})
# script.update

[comment]: # ({/4f2ac53b-4f2ac53b})

[comment]: # ({3c9f3e07-3bbc6786})
### Описание

`object script.update(объект/массив scripts)`

Этот метод позволяет обновлять существующие скрипты.

::: noteclassic
Этот метод доступен только пользователю с типом доступа *Супер-администратор*.
Разрешения на вызов метода можно отозвать в настройках ролей пользователя.
Дополнительную информацию см. в разделе [Роли пользователей](/manual/web_interface/frontend_sections/users/user_roles).
:::

[comment]: # ({/3c9f3e07-3bbc6786})

[comment]: # ({8f315bab-8f315bab})
### Параметры

`(object/array)` [Свойства скрипта](object#script), которые необходимо обновить.

Свойство `scriptid` должно быть определено для каждого скрипта, все остальные
свойства необязательны. Будут обновлены только переданные свойства, все
остальные останутся без изменений. Исключение составляет изменение свойства `type`
с 5 (Webhook) на другое значение: свойство `parameters` будет очищено.

[comment]: # ({/8f315bab-8f315bab})

[comment]: # ({5062432a-5062432a})
### Возвращаемые значения

`(object)` Возвращает объект, содержащий идентификаторы обновленных скриптов
в свойстве `scriptids`.

[comment]: # ({/5062432a-5062432a})

[comment]: # ({b41637d2-b41637d2})
### Примеры

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({96417b97-4f3506ff})
#### Изменение команды скрипта

Измените команду скрипта на "/bin/ping -c 10 {HOST.CONN}
2>&1".

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "script.update",
    "params": {
        "scriptid": "1",
        "command": "/bin/ping -c 10 {HOST.CONN} 2>&1"
    },
    "id": 1
}
```

Ответ:

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

[comment]: # ({/96417b97-4f3506ff})

[comment]: # ({7495fc5b-eb14467c})
#### Изменение команды скрипта и добавление ручного ввода

Измените команду скрипта на "/bin/ping -c {MANUALINPUT}
{HOST.CONN} 2>&1".

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "script.update",
    "params": {
      "scriptid": "1",
      "command": "/bin/ping -c {MANUALINPUT} {HOST.CONN} 2>&1",
      "manualinput": "1",
      "manualinput_prompt": "Укажите количество ICMP-пакетов, которые нужно отправить с помощью команды ping",
      "manualinput_validator": "^(?:[1-9]|10)$",
      "manualinput_validator_type": "0",
      "manualinput_default_value": "10"
    },
    "id": 1
}
```

Ответ:

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

[comment]: # ({/7495fc5b-eb14467c})

[comment]: # ({cded8a11-cded8a11})
### Источник

CScript::update() в *ui/include/classes/api/services/CScript.php*.

[comment]: # ({/cded8a11-cded8a11})
