action.get

描述

integer/array action.get(object parameters)

该方法允许根据给定参数检索动作。

此方法可供任何类型的用户使用。调用该方法的权限可在用户角色设置中撤销。更多信息请参阅User roles

参数

(object) 定义所需输出的参数.

该方法支持以下参数.

参数 数据类型 描述
actionids ID/array 仅返回具有指定ID的动作.
groupids ID/array 仅返回在动作条件中使用指定主机组的动作.
hostids ID/array 仅返回在动作条件中使用指定主机的动作.
triggerids ID/array 仅返回在动作条件中使用指定触发器的动作.
mediatypeids ID/array 仅返回使用指定媒介类型发送消息的动作.
usrgrpids ID/array 仅返回配置为向指定用户组发送消息的动作.
userids ID/array 仅返回配置为向指定用户发送消息的动作.
scriptids ID/array 仅返回配置为run指定脚本的动作.
selectFilter query 返回包含动作条件过滤器的filter属性.
selectOperations query 返回包含动作操作的operations属性.
selectRecoveryOperations query 返回包含动作恢复操作的recovery_operations属性.
selectUpdateOperations query 返回包含动作update操作的update_operations属性.
sortfield string/array 按给定属性对结果进行排序.

可能的值: actionid, name, status.
countOutput boolean 这些参数在通用get方法参数中有描述.
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 返回以下两种结果之一:

  • 一个包含array的objects数组
  • 检索到的objects数量(当使用了countOutput参数时)

示例

获取触发器动作

获取所有已配置的触发器动作及其关联的动作条件和操作

执行请求:

{  "jsonrpc": "2.0",  "method": "action.get",  "params": {  "output": "extend",  "selectOperations": "extend",  "selectRecoveryOperations": "extend",  "selectUpdateOperations": "extend",  "selectFilter": "extend",  "filter": {  "eventsource": 0  }  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": [  {  "actionid": "3",  "name": "Report problems to Zabbix administrators",  "eventsource": "0",  "status": "1",  "esc_period": "1h",  "pause_suppressed": "1",  "filter": {  "evaltype": "0",  "formula": "",  "conditions": [],  "eval_formula": ""  },  "operations": [  {  "operationid": "3",  "actionid": "3",  "operationtype": "0",  "esc_period": "0",  "esc_step_from": "1",  "esc_step_to": "1",  "evaltype": "0",  "opconditions": [],  "opmessage": [  {  "default_msg": "1",  "subject": "",  "message": "",  "mediatypeid" => "0"  }  ],  "opmessage_grp": [  {  "usrgrpid": "7"  }  ]  }  ],  "recovery_operations": [  {  "operationid": "7",  "actionid": "3",  "operationtype": "11",  "evaltype": "0",  "opconditions": [],  "opmessage": {  "default_msg": "0",  "subject": "{TRIGGER.STATUS}: {TRIGGER.NAME}",  "message": "Trigger: {TRIGGER.NAME}\r\nTrigger status: {TRIGGER.STATUS}\r\nTrigger severity: {TRIGGER.SEVERITY}\r\nTrigger URL: {TRIGGER.URL}\r\n\r\nItem values:\r\n\r\n1. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}\r\n2. {ITEM.NAME2} ({HOST.NAME2}:{ITEM.KEY2}): {ITEM.VALUE2}\r\n3. {ITEM.NAME3} ({HOST.NAME3}:{ITEM.KEY3}): {ITEM.VALUE3}\r\n\r\nOriginal event ID: {EVENT.ID}",  "mediatypeid": "0"  }  }  ],  "update_operations": [  {  "operationid": "31",  "operationtype": "12",  "evaltype": "0",  "opmessage": {  "default_msg": "1",  "subject": "",  "message": "",  "mediatypeid": "0"  }  },  {  "operationid": "32",  "operationtype": "0",  "evaltype": "0",  "opmessage": {  "default_msg": "0",  "subject": "Updated: {TRIGGER.NAME}",  "message": "{USER.FULLNAME} updated problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME} with the following message:\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nCurrent problem status is {EVENT.STATUS}",  "mediatypeid": "1"  },  "opmessage_grp": [  {  "usrgrpid": "7"  }  ],  "opmessage_usr": []  },  {  "operationid": "33",  "operationtype": "1",  "evaltype": "0",  "opcommand": {  "scriptid": "3"  },  "opcommand_hst": [  {  "hostid": "10084"  }  ],  "opcommand_grp": []  }  ]  }  ],  "id": 1 }

检索发现动作

检索所有已配置的发现动作及其关联的动作条件和操作。该过滤器采用"与"评估类型,因此formula属性为空且eval_formula是自动生成的。

执行请求:

{  "jsonrpc": "2.0",  "method": "action.get",  "params": {  "output": "extend",  "selectOperations": "extend",  "selectFilter": "extend",  "filter": {  "eventsource": 1  }  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": [  {  "actionid": "2",  "name": "Auto discovery. Linux servers.",  "eventsource": "1",  "status": "1",  "esc_period": "0s",  "pause_suppressed": "1",  "filter": {  "evaltype": "0",  "formula": "",  "conditions": [  {  "conditiontype": "10",  "operator": "0",  "value": "0",  "value2": "",  "formulaid": "B"  },  {  "conditiontype": "8",  "operator": "0",  "value": "9",  "value2": "",  "formulaid": "C"  },  {  "conditiontype": "12",  "operator": "2",  "value": "Linux",  "value2": "",  "formulaid": "A"  }  ],  "eval_formula": "A and B and C"  },  "operations": [  {  "operationid": "1",  "actionid": "2",  "operationtype": "6",  "esc_period": "0s",  "esc_step_from": "1",  "esc_step_to": "1",  "evaltype": "0",  "opconditions": [],  "optemplate": [  {  "templateid": "10001"  }  ]  },  {  "operationid": "2",  "actionid": "2",  "operationtype": "4",  "esc_period": "0s",  "esc_step_from": "1",  "esc_step_to": "1",  "evaltype": "0",  "opconditions": [],  "opgroup": [  {  "groupid": "2"  }  ]  }  ]  }  ],  "id": 1 }

另请参阅

来源

CAction::get() 位于 ui/include/classes/api/services/CAction.php 文件中。