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 the following parameters.

Parameter Type Description
type
(required)
integer Task type.

Possible values:
1 - Diagnostic information;
6 - Check now.
request
(required)
object Task request object according to the task type. Correct format of request object is described in Task object section.
proxy_hostid integer Proxy about which Diagnostic information task will collect data.

Ignored for 'Check now' tasks.

Note that 'Check 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

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 check 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"
                   }
               }
           ],
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Response:

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

Create a task diagnostic information task. 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
               }
           ],
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 2
       }

Response:

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

See also

Source

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