task.create

Description

object task.create(object task)

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

<note note>Starting from Zabbix version 5.0.5, task.create accepts array of task objects object/array tasks, allowing to create multiple tasks in single request. :::

Parameters

(object) A task to create.

The method accepts the following parameters. Please use this format for Zabbix versions before 5.0.5 only.

Parameter Type Description
type
(required)
integer Task type.

Possible values:
6 - Check now.
itemids
(required)
string/array IDs of items and low-level discovery rules.

Please be aware that starting from Zabbix version 5.0.5, request format has changed:

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 for the following types of items/discovery rules:

  • Zabbix agent
  • SNMPv1/v2/v3 agent
  • Simple check
  • Internal check
  • Aggregate 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 or task objects passed as array.

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 for Zabbix versions before 5.0.5:

{
           "jsonrpc": "2.0",
           "method": "task.create",
           "params": {
               "type": "6",
               "itemids": [
                   "10092",
                   "10093"
               ],
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Same request for Zabbix versions starting from 5.0.5:

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

Response is similar for both example requests:

{
           "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.