Sidebar

manual:api:reference:task:create

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).

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.