task.create

Description

object task.create(object/array tasks)

This method allows to create a new task (such as collect diagnostic data or check items or low-level discovery rules without config reload).

This method is only available to Super admin user type. Permissions to call the method can be revoked in user role settings. See User roles for more information.

Parameters

(object/array) A task to create.

The method accepts tasks with the standard task properties.

Note that 'Execute now' tasks can be created only for the following types of items/discovery rules:

  • Zabbix agent
  • SNMPv1/v2/v3 agent
  • Simple check
  • Internal check
  • External check
  • Database monitor
  • HTTP agent
  • IPMI agent
  • SSH agent
  • TELNET agent
  • Calculated check
  • JMX agent
  • Dependent item

If item or discovery rule is of type "Dependent item", then top level master item must be of type:

  • Zabbix agent
  • SNMPv1/v2/v3 agent
  • Simple check
  • Internal check
  • External check
  • Database monitor
  • HTTP agent
  • IPMI agent
  • SSH agent
  • TELNET agent
  • Calculated check
  • JMX agent

Return values

(object) Returns an object containing the IDs of the created tasks under the taskids property. One task is created for each item and low-level discovery rule. The order of the returned IDs matches the order of the passed itemids.

Examples

Creating a task

Create a task Execute now for two items. One is an item, the other is a low-level discovery rule.

Request:

{
           "jsonrpc": "2.0",
           "method": "task.create",
           "params": [
               {
                   "type": 6,
                   "request": {
                       "itemid": "10092"
                   }
               },
               {
                   "type": 6,
                   "request": {
                       "itemid": "10093"
                   }
               }
           ],
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "taskids": [
                   "1",
                   "2"
               ]
           },
           "id": 1
       }

Create a task Refresh proxy configuration for two proxies.

Request:

{
           "jsonrpc": "2.0",
           "method": "task.create",
           "params": [
               {
                   "type": 2,
                   "request": {
                       "proxy_hostids": ["10459", "10460"]
                   }
               }
           ],
           "id": 1
       }

Response:

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

Create a task diagnostic information.

Request:

{
           "jsonrpc": "2.0",
           "method": "task.create",
           "params": [
               {
                   "type": 1,
                   "request": {
                       "alerting": {
                           "stats": [
                               "alerts"
                           ],
                           "top": {
                               "media.alerts": 10
                           }
                       },
                       "lld": {
                           "stats": "extend",
                           "top": {
                               "values": 5
                           }
                       }
                   },
                   "proxy_hostid": 0
               }
           ],
           "id": 1
       }

Response:

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

See also

Source

CTask::create() in ui/include/classes/api/services/CTask.php.