[comment]: # translation:outdated

[comment]: # aside: 1

[comment]: # ({5fa5406d-502c65c3})
# 动作 object

以下objects与`action`API直接相关。

[comment]: # ({/5fa5406d-502c65c3})

[comment]: # ({e63f682e-73117797})
### 动作

操作 object 具有以下属性.

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| actionid | ID | 操作的ID.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *只读*<br>- 进行 update 操作时*必填* |
| esc\_period | string | 默认操作步骤持续时间. 必须至少为60秒. 接受秒数、带后缀的时间单位或用户宏.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- 当 `eventsource` 设置为"触发器创建的事件"、"内部事件"或"服务状态 update 创建的事件"时*支持* |
| eventsource | integer | 操作将处理的事件类型.<br><br>参考 [event `source` property](/manual/api/reference/event/object#event) 获取支持的事件类型列表.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *常量*<br>- 进行 create 操作时*必填* |
| name | string | 操作的名称.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- 进行 create 操作时*必填* |
| status | integer | 操作是否启用或禁用.<br><br>可能的值:<br>0 - *(默认)* 启用;<br>1 - 禁用. |
| pause\_symptoms | integer | 当事件是症状事件时是否暂停升级.<br><br>可能的值:<br>0 - 不暂停症状问题的升级;<br>1 - *(默认)* 暂停症状问题的升级.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- 当 `eventsource` 设置为"触发器创建的事件"时*支持* |
| pause\_suppressed | integer | 在维护期间是否暂停升级.<br><br>可能的值:<br>0 - 不暂停升级;<br>1 - *(默认)* 暂停升级.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- 当 `eventsource` 设置为"触发器创建的事件"时*支持* |
| notify\_if\_canceled | integer | 当升级取消时是否通知.<br><br>可能的值:<br>0 - 升级取消时不通知;<br>1 - *(默认)* 升级取消时通知.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- 当 `eventsource` 设置为"触发器创建的事件"时*支持* |

[comment]: # ({/e63f682e-73117797})

[comment]: # ({6369a32b-8757165b})
### Action 操作

动作操作object定义了当动作执行时将执行的操作。它具有以下属性。

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| operationtype | integer | 操作类型。<br><br>可能的值:<br>0 - 发送消息;<br>1 - 全局脚本;<br>2 - 添加主机;<br>3 - 移除主机;<br>4 - 添加到主机组;<br>5 - 从主机组移除;<br>6 - 链接模板;<br>7 - 取消链接模板;<br>8 - 启用主机;<br>9 - 禁用主机;<br>10 - 设置主机资产清单模式;<br>13 - 添加主机标签;<br>14 - 移除主机标签。<br><br>如果[动作object](#action)的`eventsource`设置为"触发器创建的事件"或"服务状态update创建的事件"时的可能值:<br>0 - "发送消息";<br>1 - "全局脚本"。<br><br>如果[动作object](#action)的`eventsource`设置为"内部事件"时的可能值:<br>0 - "发送消息"。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* |
| esc\_period | string | 升级步骤的持续时间(秒)。必须大于60秒。接受秒数、带后缀的时间单位或用户宏。如果设置为0或0s，将使用默认动作升级周期。<br><br>默认值: 0s。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *支持* 如果[动作object](#action)的`eventsource`设置为"触发器创建的事件"、"内部事件"或"服务状态update创建的事件" |
| esc\_step\_from | integer | 开始升级的步骤。<br><br>默认值: 1。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *支持* 如果[动作object](#action)的`eventsource`设置为"触发器创建的事件"、"内部事件"或"服务状态update创建的事件" |
| esc\_step\_to | integer | 结束升级的步骤。<br><br>默认值: 1。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *支持* 如果[动作object](#action)的`eventsource`设置为"触发器创建的事件"、"内部事件"或"服务状态update创建的事件" |
| evaltype | integer | 操作条件评估方法。<br><br>可能的值:<br>0 - *(默认)* AND/OR;<br>1 - AND;<br>2 - OR。 |
| opcommand | object | 要execute的全局脚本。<br><br>全局脚本必须定义`scriptid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"全局脚本" |
| opcommand\_grp | array | 要run全局脚本的主机组。<br><br>主机组必须定义`groupid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"全局脚本"且`opcommand_hst`未设置 |
| opcommand\_hst | array | 要run全局脚本的主机。<br><br>主机必须定义`hostid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"全局脚本"且`opcommand_grp`未设置 |
| opconditions | array | 用于触发器动作的操作条件。<br><br>操作条件object是[action-操作条件](/manual/api/reference/action/object#action-操作条件)。 |
| opgroup | array | 要添加主机的主机组。<br><br>主机组必须定义`groupid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"添加到主机组"或"从主机组移除" |
| opmessage | object | 包含操作发送消息数据的object。<br><br>操作消息object是[action-操作消息](/manual/api/reference/action/object#action-操作消息)。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"发送消息" |
| opmessage\_grp | array | 要发送消息的用户组。<br><br>用户组必须定义`usrgrpid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"发送消息"且`opmessage_usr`未设置 |
| opmessage\_usr | array | 要发送消息的用户。<br><br>用户必须定义`userid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"发送消息"且`opmessage_grp`未设置 |
| optemplate | array | 要链接到主机的模板。<br><br>模板必须定义`templateid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"链接模板"或"取消链接模板" |
| opinventory | object | 设置主机的资产清单模式。<br><br>资产清单必须定义`inventory_mode`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"设置主机资产清单模式" |
| optag | array | 要添加或移除的主机标签。<br><br>标签必须定义`tag`属性。<br>`value`属性是可选的。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *支持* 如果`operationtype`设置为"添加主机标签"或"移除主机标签"。 |

[comment]: # ({/6369a32b-8757165b})

[comment]: # ({fda65993-4aeccf9f})
#### Action 操作消息

操作消息object包含有关该操作将发送消息的数据. 它具有以下属性.

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| default\_msg | integer | 是否使用默认动作消息文本和主题.<br><br>可能值:<br>0 - 使用操作中的数据;<br>1 - *(默认)* 使用媒介类型中的数据. |
| mediatypeid | ID | 用于发送消息的媒介类型ID.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *支持* 如果[动作操作object](#action-operation), [动作恢复操作object](#action-recovery-operation), 或[动作update操作object](#action-update-operation)的`operationtype`设置为"发送消息", 或者如果[动作update操作object](#action-update-operation)的`operationtype`设置为"通知所有相关人员" |
| message | string | 操作消息文本.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *支持* 如果`default_msg`设置为"使用操作中的数据" |
| subject | string | 操作消息主题.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *支持* 如果`default_msg`设置为"使用操作中的数据" |

[comment]: # ({/fda65993-4aeccf9f})

[comment]: # ({a0c081cb-6762fd66})
#### Action 操作条件

操作条件object定义了执行当前操作必须满足的条件。它具有以下属性。

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| conditiontype | integer | 条件类型。<br><br>可能取值:<br>14 - 事件已确认。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* |
| value | string | 用于比较的值。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* |
| operator | integer | 条件运算符。<br><br>可能取值:<br>0 - *(默认)* = |

每种操作条件类型支持的运算符和值如下。

| 条件 | 条件名称 | 支持的运算符 | 预期值 |
|---------|--------------|-------------------|--------------|
| 14        | Event acknowledged | =    | 事件是否已确认。<br><br>可能取值:<br>0 - 未确认;<br>1 - 已确认。 |

[comment]: # ({/a0c081cb-6762fd66})

[comment]: # ({c36a3d9f-d1e6762b})
### Action 恢复操作

动作恢复操作object定义了当问题解决时将执行的操作。
恢复操作**仅**适用于触发器、内部和服务动作。
它具有以下属性。

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| operationtype | integer | 操作类型。<br><br>如果[动作object](#action)的`eventsource`设置为"由触发器创建的事件"或"服务状态update创建的事件"时的可能值：<br>0 - 发送消息；<br>1 - 全局脚本；<br>11 - 通知所有相关人员。<br><br>如果[动作object](#action)的`eventsource`设置为"内部事件"时的可能值：<br>0 - 发送消息；<br>11 - 通知所有相关人员。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* |
| opcommand | object | 要execute的全局脚本。<br><br>全局脚本必须定义`scriptid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"全局脚本" |
| opcommand\_grp | array | 要run全局脚本的主机组。<br><br>主机组必须定义`groupid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果[动作object](#action)的`eventsource`设置为"由触发器创建的事件"，且`operationtype`设置为"全局脚本"，且`opcommand_hst`未设置 |
| opcommand\_hst | array | 要run全局脚本的主机。<br><br>主机必须定义`hostid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果[动作object](#action)的`eventsource`设置为"由触发器创建的事件"，且`operationtype`设置为"全局脚本"，且`opcommand_grp`未设置 |
| opmessage | object | 包含恢复操作发送的消息数据的object。<br><br>操作消息object是[action-操作消息](/manual/api/reference/action/object#action-操作消息)。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"发送消息" |
| opmessage\_grp | array | 要发送消息的用户组。<br><br>用户组必须定义`usrgrpid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"发送消息"且`opmessage_usr`未设置 |
| opmessage\_usr | array | 要发送消息的用户。<br><br>用户必须定义`userid`属性。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"发送消息"且`opmessage_grp`未设置 |

[comment]: # ({/c36a3d9f-d1e6762b})

[comment]: # ({4a5a224f-f41f59ea})
### Action 更新操作

操作update操作object定义了在问题更新时将执行的操作
(评论、确认、严重性更改或手动关闭).
更新操作**仅**适用于触发器和服务动作.
它具有以下属性.

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| operationtype | integer | 操作类型.<br><br>可能的值:<br>0 - 发送消息;<br>1 - 全局脚本;<br>12 - 通知所有相关人员.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* |
| opcommand | object | 要execute的全局脚本.<br><br>全局脚本必须定义`scriptid`属性.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"全局脚本" |
| opcommand\_grp | array | 要run全局脚本的主机组.<br><br>主机组必须定义`groupid`属性.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果[操作object](#action)的`eventsource`设置为"触发器创建的事件",且`operationtype`设置为"全局脚本",且`opcommand_hst`未设置 |
| opcommand\_hst | array | 要run全局脚本的主机.<br><br>主机必须定义`hostid`属性.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果[操作object](#action)的`eventsource`设置为"触发器创建的事件",且`operationtype`设置为"全局脚本",且`opcommand_grp`未设置 |
| opmessage | object | 包含update操作发送的消息数据的object.<br><br>操作消息object是[action-操作消息](/manual/api/reference/action/object#action-操作消息). |
| opmessage\_grp | array | 要发送消息的用户组.<br><br>用户组必须定义`usrgrpid`属性.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"发送消息"且`opmessage_usr`未设置 |
| opmessage\_usr | array | 要发送消息的用户.<br><br>用户必须定义`userid`属性.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`operationtype`设置为"发送消息"且`opmessage_grp`未设置 |

[comment]: # ({/4a5a224f-f41f59ea})

[comment]: # ({eb33ba81-0d8b3bb1})
### 操作过滤器

动作过滤器object定义了一组必须满足的条件才能执行配置的动作操作。它具有以下属性。

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| conditions | array | 用于过滤结果的[过滤器条件](#action-filter-condition)集合。条件将按其公式中的放置顺序排序。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* |
| evaltype | integer | 过滤器条件评估方法。<br><br>可能的值:<br>0 - 与/或;<br>1 - 与;<br>2 - 或;<br>3 - 自定义表达式。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* |
| eval\_formula | string | 用于评估过滤器条件的生成表达式。该表达式包含通过`formulaid`引用特定过滤器条件的ID。对于具有自定义表达式的过滤器，`eval_formula`的值等于`formula`的值。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *只读* |
| formula | string | 用于评估具有自定义表达式的过滤器条件的用户定义表达式。该表达式必须包含通过`formulaid`引用特定过滤器条件的ID。表达式中使用的ID必须与过滤器条件中定义的完全匹配：不能有任何条件未被使用或遗漏。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果`evaltype`设置为"自定义表达式" |

[comment]: # ({/eb33ba81-0d8b3bb1})

[comment]: # ({19dead90-dd860074})
#### Action 过滤条件

操作过滤器条件object定义了特定条件
必须在执行操作前进行检查。

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| conditiontype | integer | 条件类型.<br><br>当[动作object](#action)的`eventsource`设置为"由触发器创建的事件"时的可能取值:<br>0 - 主机组;<br>1 - 主机;<br>2 - 触发器;<br>3 - 事件名称;<br>4 - 触发器严重性;<br>6 - 时间段;<br>13 - 主机模板;<br>16 - 问题被抑制;<br>25 - 事件标签;<br>26 - 事件标签值.<br><br>当[动作object](#action)的`eventsource`设置为"由发现规则创建的事件"时的可能取值:<br>7 - 主机IP;<br>8 - 发现的服务类型;<br>9 - 发现的服务端口;<br>10 - 发现状态;<br>11 - 运行时间或停机时长;<br>12 - 接收值;<br>18 - 发现规则;<br>19 - 发现检查;<br>20 - proxy;<br>21 - 发现object.<br><br>当[动作object](#action)的`eventsource`设置为"由主动agent自动注册创建的事件"时的可能取值:<br>20 - proxy;<br>22 - 主机名;<br>24 - 主机元数据.<br><br>当[动作object](#action)的`eventsource`设置为"内部事件"时的可能取值:<br>0 - 主机组;<br>1 - 主机;<br>13 - 主机模板;<br>23 - 事件类型;<br>25 - 事件标签;<br>26 - 事件标签值.<br><br>当[动作object](#action)的`eventsource`设置为"服务状态update创建的事件"时的可能取值:<br>25 - 事件标签;<br>26 - 事件标签值;<br>27 - 服务;<br>28 - 服务名称.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* |
| value | string | 用于比较的值。<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* |
| value2 | string | 用于比较的次要值.<br><br>[属性行为](/manual/api/reference_commentary#属性行为):<br>- *必填* 如果[动作 object](#action)的`eventsource`设置为"由触发器创建的事件", `conditiontype`设置为触发器动作的任何可能值, 且条件类型(见下文)为"26"<br>- *必填* 如果[动作 object](#action)的`eventsource`设置为"内部事件", `conditiontype`设置为内部动作的任何可能值, 且条件类型(见下文)为"26"<br>- *必填* 如果[动作 object](#action)的`eventsource`设置为"服务状态update上创建的事件", `conditiontype`设置为服务动作的任何可能值, 且条件类型(见下文)为"26" |
| formulaid | string | 用于在自定义表达式中引用该条件的任意唯一标识符。仅允许包含大写字母。修改过滤条件时必须由用户定义该ID，但在后续请求时系统会重新生成新ID。 |
| operator | integer | 条件运算符.<br><br>可选值:<br>0 - *(默认)* 等于;<br>1 - 不等于;<br>2 - 包含;<br>3 - 不包含;<br>4 - 在范围内;<br>5 - 大于或等于;<br>6 - 小于或等于;<br>7 - 不在范围内;<br>8 - 匹配;<br>9 - 不匹配;<br>10 - 是;<br>11 - 否. |

::: notetip
为了更好地理解如何在不同情况下使用过滤器
表达式类型，请参阅示例
[action.get](get#retrieve_discovery_actions) 和
[action.create](create#using_a_custom_expression_filter) 方法
页面

:::

每个条件支持以下运算符和值
类型.

| 条件 | 条件名称 | 支持的运算符 | 预期值 |
|-|--|--|------|
| 0         | Host group | equals,<br>does not equal    | 主机组 ID. |
| 1         | Host | equals,<br>does not equal    | 主机 ID. |
| 2         | Trigger | equals,<br>does not equal    | 触发器ID.    |
| 3         | Event name | contains,<br>does not contain    | 事件名称.    |
| 4         | Trigger severity | equals,<br>does not equal,<br>is greater than or equals,<br>is less than or equals    | 触发器严重级别。参考[trigger `severity` property](/manual/api/reference/trigger/object#trigger)获取支持的触发器严重级别列表。 |
| 5         | Trigger value | equals    | 触发器值。参考[trigger `value` property](/manual/api/reference/trigger/object#trigger)获取支持的触发器值列表。 |
| 6         | Time period | in, not in    | 事件触发时间（以[time period](/manual/appendix/time_period)格式记录）。 |
| 7         | Host IP | equals,<br>does not equal    | 要检查的一个或多个IP范围，以逗号分隔。有关支持的IP范围格式的更多信息，请参阅[network discovery configuration](/manual/discovery/network_discovery/rule)部分。 |
| 8         | Discovered service type | equals,<br>does not equal    | 发现服务的类型。服务类型与用于检测服务的发现检查类型相匹配。有关支持类型的列表，请参阅[discovery check `type` property](/manual/api/reference/dcheck/object#discovery_check)。 |
| 9         | Discovered service port | equals,<br>does not equal    | 一个或多个端口范围，以逗号分隔。 |
| 10        | Discovery status | equals    | 已发现object的状态.<br><br>可能的值:<br>0 - 主机或服务运行中;<br>1 - 主机或服务停止;<br>2 - 主机或服务已发现;<br>3 - 主机或服务丢失. |
| 11        | Uptime or downtime duration | is greater than or equals,<br>is less than or equals    | 表示已发现的object保持当前状态时长的秒数。 |
| 12        | Received values | equals,<br>does not equal,<br>is greater than or equals,<br>is less than or equals,<br>contains,<br>does not contain    | 执行Zabbix agent、SNMPv1、SNMPv2或SNMPv3发现检查时返回的值。 |
| 13        | Host template | equals,<br>does not equal    | 关联模板ID. |
| 16        | Problem is suppressed | Yes, No    | 无需设置值: 使用"Yes"运算符表示必须抑制问题, "No"表示不抑制. |
| 18        | Discovery rule | equals,<br>does not equal    | 发现规则的ID. |
| 19        | Discovery check | equals,<br>does not equal    | 发现检查的ID. |
| 20        | Proxy | equals,<br>does not equal    | proxy的ID. |
| 21        | Discovery object | equals    | 触发发现事件的object类型.<br><br>可能取值:<br>1 - 发现的主机;<br>2 - 发现的服务. |
| 22        | Host name | contains,<br>does not contain,<br>matches,<br>does not match    | 主机名.<br>在自动注册条件中，对于操作符*匹配*和*不匹配*支持使用正则表达式。
| 23        | Event type | equals    | 特定内部事件.<br><br>可能取值:<br>0 - 监控项处于"不支持"状态;<br>1 - 监控项处于"正常"状态;<br>2 - LLD规则处于"不支持"状态;<br>3 - LLD规则处于"正常"状态;<br>4 - 触发器处于"未知"状态;<br>5 - 触发器处于"正常"状态. |
| 24        | Host metadata | contains,<br>does not contain,<br>matches,<br>does not match    | 自动注册主机的元数据.<br>对于操作符*matches*和*does not match*支持使用正则表达式. |
| 25        | Tag | equals,<br>does not equal,<br>contains,<br>does not contain    | 事件标签.     |
| 26        | Tag value | equals,<br>does not equal,<br>contains,<br>does not contain    | 事件标签值. |
| 27        | Service | equals,<br>does not equal    | 服务ID.    |
| 28        | Service name | equals,<br>does not equal    | 服务名称.  |

[comment]: # ({/19dead90-dd860074})
