service.get

描述

integer/array service.get(object parameters)

此方法允许根据给定的参数检索服务。

此方法允许任何用户使用。可以在用户角色设置中撤销调用此方法的权限。更多信息请查看 用户角色

参数

(对象) 定义所需输出的参数。

此方法支持以下参数。

参数类型
serviceidsstring/array仅返回给定ID对应的服务。
parentidsstring/array仅返回与给定父服务相关的服务。
deep_parentidsflagparentids一起使用,返回所有直接和间接的子服务。
childidsstring/array仅返回与给定子服务相关的服务。
evaltypeinteger标记搜索规则。

可能的值:
0 - (默认) 与/或;
2 - 或。
tagsobject/array of objects仅返回带给定标记的服务。根据标记进行精确匹配,或根据标记值的运算符运算进行区分或不区分大小写的搜索。
格式: [{“tag”: “<tag>”, “value”: “<value>”, “operator”: “<operator>”}, …].
空的数组返回所有服务。

可能的运算符:
0 - (默认) 包含;
1 - 等于;
2 - 不包含;
3 - 不等于;
4 - 存在;
5 - 不存在。
problem_tagsobject/array of objects仅返回带给定问题标记的服务。根据标记进行精确匹配,或根据标记值的运算符运算进行区分或不区分大小写的搜索。
格式:[{“tag”: “<tag>”, “value”: “<value>”, “operator”: “<operator>”}, …].
空的数组返回所有服务。

可能的运算符值:
0 - (默认) 包含;
1 - 等于;
2 - 不包含;
3 - 不等于;
4 - 存在;
5 - 不存在。
without_problem_tagsflag仅返回不带问题标记的服务。
slaidsstring/array仅返回与特定SLA关联的服务。
selectChildrenquery返回children属性为子服务。

支持count
selectParentsquery返回parents属性为父服务。

支持count.
selectTagsquery返回tags 属性为服务标记。

支持count.
selectProblemEventsquery返回problem_events属性为问题事件对象数组。

问题事件对象有如下属性:
eventid - (字符串) 事件ID;
severity - (字符串) 当前事件严重性;
name - (字符串) 已解决的事件名称。

支持count
selectProblemTagsquery返回problem_tags属性为问题标记。

支持count
selectStatusRulesquery返回status_rules属性为状态规则。

支持count
selectStatusTimelineobject/array of objects返回status_timeline属性包含给定时期内服务状态改变。

格式[{“period_from”: “<period_from>”, “period_to”: “<period_to>”}, …] - 以period_from为开始日期 (包含; 整型时间戳),period_to为结束日期 (不含;整型时间戳)确定你需要的时间段。

返回一个包含start_value属性的实体数组 以及一个特定时间内状态改变的警告 数组。
sortfieldstring/array根据给定属性将结果排序。

可能的值: serviceidnamestatussortordercreated_at
countOutputboolean这些参数与所有的get方法相同,详情见reference commentary
editableboolean
excludeSearchboolean
filterobject
limitinteger
outputquery
preservekeysboolean
searchobject
searchByAnyboolean
searchWildcardsEnabledboolean
sortorderstring/array
startSearchboolean

返回值

(整型/数组) 返回其中之一:

  • 一个对象数组;
  • 如果使用countOutput参数,被检索对象的数量。

示例

检索所有服务

检索所有服务和依赖的所有相关数据。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "service.get",
  4. "params": {
  5. "output": "extend",
  6. "selectChildren": "extend",
  7. "selectParents": "extend"
  8. },
  9. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  10. "id": 1
  11. }

相应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "serviceid": "1",
  6. "name": "My Service - 0001",
  7. "status": "-1",
  8. "algorithm": "2",
  9. "sortorder": "0",
  10. "weight": "0",
  11. "propagation_rule": "0",
  12. "propagation_value": "0",
  13. "description": "My Service Description 0001.",
  14. "uuid": "dfa4daeaea754e3a95c04d6029182681",
  15. "created_at": "946684800",
  16. "readonly": false,
  17. "parents": [],
  18. "children": []
  19. },
  20. {
  21. "serviceid": "2",
  22. "name": "My Service - 0002",
  23. "status": "-1",
  24. "algorithm": "2",
  25. "sortorder": "0",
  26. "weight": "0",
  27. "propagation_rule": "0",
  28. "propagation_value": "0",
  29. "description": "My Service Description 0002.",
  30. "uuid": "20ea0d85212841219130abeaca28c065",
  31. "created_at": "946684800",
  32. "readonly": false,
  33. "parents": [],
  34. "children": []
  35. }
  36. ],
  37. "id": 1
  38. }

来源

CService::get() 在ui/include/classes/api/services/CService.php