The following objects are directly related to the action
API.
The action object has the following properties.
Property | Type | Description |
---|---|---|
actionid | string | (readonly) ID of the action. |
esc_period (required) |
string | Default operation step duration. Must be greater than 60 seconds. Accepts seconds, time unit with suffix and user macro. |
eventsource (required) |
integer | (constant) Type of events that the action will handle. Refer to the event "source" property for a list of supported event types. |
name (required) |
string | Name of the action. |
def_longdata | string | Problem message text. |
def_shortdata | string | Problem message subject. |
r_longdata | string | Recovery message text. |
r_shortdata | string | Recovery message subject. |
ack_longdata | string | Update operation message text. |
ack_shortdata | string | Update operation message subject. |
status | integer | Whether the action is enabled or disabled. Possible values: 0 - (default) enabled; 1 - disabled. |
pause_suppressed | integer | Whether to pause escalation during maintenance periods or not. Possible values: 0 - Don't pause escalation; 1 - (default) Pause escalation. |
The action operation object defines an operation that will be performed when an action is executed. It has the following properties.
Property | Type | Description |
---|---|---|
operationid | string | (readonly) ID of the action operation. |
operationtype (required) |
integer | Type of operation. Possible values: 0 - send message; 1 - remote command; 2 - add host; 3 - remove host; 4 - add to host group; 5 - remove from host group; 6 - link to template; 7 - unlink from template; 8 - enable host; 9 - disable host; 10 - set host inventory mode. |
actionid | string | ID of the action that the operation belongs to. |
esc_period | string | Duration of an escalation step in seconds. Must be greater than 60 seconds. Accepts seconds, time unit with suffix and user macro. If set to 0 or 0s, the default action escalation period will be used. Default: 0s. |
esc_step_from | integer | Step to start escalation from. Default: 1. |
esc_step_to | integer | Step to end escalation at. Default: 1. |
evaltype | integer | Operation condition evaluation method. Possible values: 0 - (default) AND / OR; 1 - AND; 2 - OR. |
opcommand | object | Object containing the data about the command run by the operation. The operation command object is described in detail below. Required for remote command operations. |
opcommand_grp | array | Host groups to run remote commands on. Each object has the following properties: opcommand_grpid - (string, readonly) ID of the object;operationid - (string) ID of the operation;groupid - (string) ID of the host group.Required for remote command operations if opcommand_hst is not set. |
opcommand_hst | array | Host to run remote commands on. Each object has the following properties: opcommand_hstid - (string, readonly) ID of the object;operationid - (string) ID of the operation;hostid - (string) ID of the host; if set to 0 the command will be run on the current host.Required for remote command operations if opcommand_grp is not set. |
opconditions | array | Operation conditions used for trigger actions. The operation condition object is described in detail below. |
opgroup | array | Host groups to add hosts to. Each object has the following properties: operationid - (string) ID of the operation;groupid - (string) ID of the host group.Required for "add to host group" and "remove from host group" operations. |
opmessage | object | Object containing the data about the message sent by the operation. The operation message object is described in detail below. Required for message operations. |
opmessage_grp | array | User groups to send messages to. Each object has the following properties: operationid - (string) ID of the operation;usrgrpid - (string) ID of the user group.Required for message operations if opmessage_usr is not set. |
opmessage_usr | array | Users to send messages to. Each object has the following properties: operationid - (string) ID of the operation;userid - (string) ID of the user.Required for message operations if opmessage_grp is not set. |
optemplate | array | Templates to link the hosts to to. Each object has the following properties: operationid - (string) ID of the operation;templateid - (string) ID of the template.Required for "link to template" and "unlink from template" operations. |
opinventory | object | Inventory mode set host to. Object has the following properties: operationid - (string) ID of the operation;inventory_mode - (string) Inventory mode.Required for "Set host inventory mode" operations. |
The operation command object contains data about the command that will be run by the operation.
Property | Type | Description |
---|---|---|
operationid | string | (readonly) ID of the operation. |
command | string | Command to run. Required when type IN (0,1,2,3) |
type (required) |
integer | Type of operation command. Possible values: 0 - custom script; 1 - IPMI; 2 - SSH; 3 - Telnet; 4 - global script. |
authtype | integer | Authentication method used for SSH commands. Possible values: 0 - password; 1 - public key. Required for SSH commands. |
execute_on | integer | Target on which the custom script operation command will be executed. Possible values: 0 - Zabbix agent; 1 - Zabbix server; 2 - Zabbix server (proxy). Required for custom script commands. |
password | string | Password used for SSH commands with password authentication and Telnet commands. |
port | string | Port number used for SSH and Telnet commands. |
privatekey | string | Name of the private key file used for SSH commands with public key authentication. Required for SSH commands with public key authentication. |
publickey | string | Name of the public key file used for SSH commands with public key authentication. Required for SSH commands with public key authentication. |
scriptid | string | ID of the script used for global script commands. Required for global script commands. |
username | string | User name used for authentication. Required for SSH and Telnet commands. |
The operation message object contains data about the message that will be sent by the operation.
Property | Type | Description |
---|---|---|
operationid | string | (readonly) ID of the action operation. |
default_msg | integer | Whether to use the default action message text and subject. Possible values: 0 - (default) use the data from the operation; 1 - use the data from the action. |
mediatypeid | string | ID of the media type that will be used to send the message. |
message | string | Operation message text. |
subject | string | Operation message subject. |
The action operation condition object defines a condition that must be met to perform the current operation. It has the following properties.
Property | Type | Description |
---|---|---|
opconditionid | string | (readonly) ID of the action operation condition |
conditiontype (required) |
integer | Type of condition. Possible values: 14 - event acknowledged. |
value (required) |
string | Value to compare with. |
operationid | string | (readonly) ID of the operation. |
operator | integer | Condition operator. Possible values: 0 - (default) =. |
The following operators and values are supported for each operation condition type.
Condition | Condition name | Supported operators | Expected value |
---|---|---|---|
14 | Event acknowledged | = | Whether the event is acknowledged. Possible values: 0 - not acknowledged; 1 - acknowledged. |
The action recovery operation object defines an operation that will be performed when a problem is resolved. Recovery operations are possible for trigger actions and internal actions. It has the following properties.
Property | Type | Description |
---|---|---|
operationid | string | (readonly) ID of the action operation. |
operationtype (required) |
integer | Type of operation. Possible values for trigger actions: 0 - send message; 1 - remote command; 11 - notify all involved. Possible values for internal actions: 0 - send message; 11 - notify all involved. |
actionid | string | ID of the action that the recovery operation belongs to. |
opcommand | object | Object containing the data about the command run by the recovery operation. The operation command object is described in detail above. Required for remote command operations. |
opcommand_grp | array | Host groups to run remote commands on. Each object has the following properties: opcommand_grpid - (string, readonly) ID of the object;operationid - (string) ID of the operation;groupid - (string) ID of the host group.Required for remote command operations if opcommand_hst is not set. |
opcommand_hst | array | Host to run remote commands on. Each object has the following properties: opcommand_hstid - (string, readonly) ID of the object;operationid - (string) ID of the operation;hostid - (string) ID of the host; if set to 0 the command will be run on the current host.Required for remote command operations if opcommand_grp is not set. |
opmessage | object | Object containing the data about the message sent by the recovery operation. The operation message object is described in detail above. Required for message operations. |
opmessage_grp | array | User groups to send messages to. Each object has the following properties: operationid - (string) ID of the operation;usrgrpid - (string) ID of the user group.Required for message operations if opmessage_usr is not set. |
opmessage_usr | array | Users to send messages to. Each object has the following properties: operationid - (string) ID of the operation;userid - (string) ID of the user.Required for message operations if opmessage_grp is not set. |
The action update operation object defines an operation that will be performed when a problem is updated (commented upon, acknowledged, severity changed, or manually closed). Update operations are possible for trigger actions. It has the following properties.
Property | Type | Description |
---|---|---|
operationid | string | (readonly) ID of the action operation. |
operationtype (required) |
integer | Type of operation. Possible values for trigger actions: 0 - send message; 1 - remote command; 12 - notify all involved. |
opcommand | object | Object containing the data about the command run by the recovery operation. The operation command object is described in detail above. Required for remote command operations. |
opcommand_grp | array | Host groups to run remote commands on. Each object has the following properties: groupid - (string) ID of the host group.Required for remote command operations if opcommand_hst is not set. |
opcommand_hst | array | Host to run remote commands on. Each object has the following properties: hostid - (string) ID of the host; if set to 0 the command will be run on the current host.Required for remote command operations if opcommand_grp is not set. |
opmessage | object | Object containing the data about the message sent by the recovery operation. The operation message object is described in detail above. |
opmessage_grp | array | User groups to send messages to. Each object has the following properties: usrgrpid - (string) ID of the user group.Required only for send message operations if opmessage_usr is not set.Is ignored for send update message operations. |
opmessage_usr | array | Users to send messages to. Each object has the following properties: userid - (string) ID of the user.Required only for send message operations if opmessage_grp is not set.Is ignored for send update message operations. |
The action filter object defines a set of conditions that must be met to perform the configured action operations. It has the following properties.
Property | Type | Description |
---|---|---|
conditions (required) |
array | Set of filter conditions to use for filtering results. |
evaltype (required) |
integer | Filter condition evaluation method. Possible values: 0 - and/or; 1 - and; 2 - or; 3 - custom expression. |
eval_formula | string | (readonly) Generated expression that will be used for evaluating filter conditions. The expression contains IDs that reference specific filter conditions by its formulaid . The value of eval_formula is equal to the value of formula for filters with a custom expression. |
formula | string | User-defined expression to be used for evaluating conditions of filters with a custom expression. The expression must contain IDs that reference specific filter conditions by its formulaid . The IDs used in the expression must exactly match the ones defined in the filter conditions: no condition can remain unused or omitted.Required for custom expression filters. |
The action filter condition object defines a specific condition that must be checked before running the action operations.
Property | Type | Description |
---|---|---|
conditionid | string | (readonly) ID of the action condition. |
conditiontype (required) |
integer | Type of condition. Possible values for trigger actions: 0 - host group; 1 - host; 2 - trigger; 3 - trigger name; 4 - trigger severity; 6 - time period; 13 - host template; 15 - application; 16 - problem is suppressed; 25 - event tag; 26 - event tag value. Possible values for discovery actions: 7 - host IP; 8 - discovered service type; 9 - discovered service port; 10 - discovery status; 11 - uptime or downtime duration; 12 - received value; 18 - discovery rule; 19 - discovery check; 20 - proxy; 21 - discovery object. Possible values for auto-registration actions: 20 - proxy; 22 - host name; 24 - host metadata. Possible values for internal actions: 0 - host group; 1 - host; 13 - host template; 15 - application; 23 - event type. |
value (required) |
string | Value to compare with. |
value2 |
string | Secondary value to compare with. Required for trigger actions when condition type is 26. |
actionid | string | (readonly) ID of the action that the condition belongs to. |
formulaid | string | Arbitrary unique ID that is used to reference the condition from a custom expression. Can only contain capital-case letters. The ID must be defined by the user when modifying filter conditions, but will be generated anew when requesting them afterward. |
operator | integer | Condition operator. Possible values: 0 - (default) equals; 1 - does not equal; 2 - contains; 3 - does not contain; 4 - in; 5 - is greater than or equals; 6 - is less than or equals; 7 - not in; 8 - matches; 9 - does not match; 10 - Yes; 11 - No. |
To better understand how to use filters with various types of expressions, see examples on the action.get and action.create method pages.
The following operators and values are supported for each condition type.
Condition | Condition name | Supported operators | Expected value |
---|---|---|---|
0 | Host group | equals, does not equal |
Host group ID. |
1 | Host | equals, does not equal |
Host ID. |
2 | Trigger | equals, does not equal |
Trigger ID. |
3 | Trigger name | contains, does not contain |
Trigger name. |
4 | Trigger severity | equals, does not equal, is greater than or equals, is less than or equals |
Trigger severity. Refer to the trigger "severity" property for a list of supported trigger severities. |
5 | Trigger value | equals | Trigger value. Refer to the trigger "value" property for a list of supported trigger values. |
6 | Time period | in, not in | Time when the event was triggered as a time period. |
7 | Host IP | equals, does not equal |
One or several IP ranges to check separated by commas. Refer to the network discovery configuration section for more information on supported formats of IP ranges. |
8 | Discovered service type | equals, does not equal |
Type of discovered service. The type of service matches the type of the discovery check used to detect the service. Refer to the discovery check "type" property for a list of supported types. |
9 | Discovered service port | equals, does not equal |
One or several port ranges separated by commas. |
10 | Discovery status | equals | Status of a discovered object. Possible values: 0 - host or service up; 1 - host or service down; 2 - host or service discovered; 3 - host or service lost. |
11 | Uptime or downtime duration | is greater than or equals, is less than or equals |
Time indicating how long has the discovered object been in the current status in seconds. |
12 | Received values | equals, does not equal, is greater than or equals, is less than or equals, contains, does not contain |
Value returned when performing a Zabbix agent, SNMPv1, SNMPv2 or SNMPv3 discovery check. |
13 | Host template | equals, does not equal |
Linked template ID. |
15 | Application | equals, contains, does not contain |
Name of the application. |
16 | Problem is suppressed | Yes, No | No value required: using the "Yes" operator means that problem must be suppressed, "No" - not suppressed. |
18 | Discovery rule | equals, does not equal |
ID of the discovery rule. |
19 | Discovery check | equals, does not equal |
ID of the discovery check. |
20 | Proxy | equals, does not equal |
ID of the proxy. |
21 | Discovery object | equals | Type of object that triggered the discovery event. Possible values: 1 - discovered host; 2 - discovered service. |
22 | Host name | contains, does not contain, matches, does not match |
Host name. Using a regular expression is supported for operators matches and does not match in auto-registration conditions. |
23 | Event type | equals | Specific internal event. Possible values: 0 - item in "not supported" state; 1 - item in "normal" state; 2 - LLD rule in "not supported" state; 3 - LLD rule in "normal" state; 4 - trigger in "unknown" state; 5 - trigger in "normal" state. |
24 | Host metadata | contains, does not contain, matches, does not match |
Metadata of the auto-registered host. Using a regular expression is supported for operators matches and does not match. |
25 | Tag | equals, does not equal, contains, does not contain |
Event tag. |
26 | Tag value | equals, does not equal, contains, does not contain |
Event tag value. |