获取

描述

integer/array service.get(object parameters)

此方法允许根据给定的参数检索服务。 :::请注意 此方法允许任何用户使用。可以在用户角色设置中撤销调用此方法的权限。更多信息请查看 用户角色。 :::

参数

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

该方法支持以下参数。

参数 类型 描述
serviceids ID/数组 仅返回具有指定ID的服务。
parentids ID/数组 仅返回链接到指定父服务的服务。
deep_parentids 标记 返回所有直接和间接子服务。与parentids一起使用。
childids ID/数组 仅返回链接到指定子服务的服务。
evaltype 整数 标签搜索规则。

可能的值:
0 - (默认) 与/或;
2 - 或。
tags 对象/数组 仅返回具有给定标签的服务。根据操作符值,标签完全匹配或标签值大小写敏感或不敏感搜索。
格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空数组返回所有服务。

可能的操作符值:
0 - (默认) 包含;
1 - 等于;
2 - 不包含;
3 - 不等于;
4 - 存在;
5 - 不存在。
problem_tags 对象/数组 仅返回具有给定问题标签的服务。根据操作符值,标签完全匹配或标签值大小写敏感或不敏感搜索。
格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空数组返回所有服务。

可能的操作符值:
0 - (默认) 包含;
1 - 等于;
2 - 不包含;
3 - 不等于;
4 - 存在;
5 - 不存在。
without_problem_tags 标记 仅返回没有问题标签的服务。
slaids ID/数组 仅返回链接到特定SLA的服务。
selectChildren 查询 返回一个children属性,包含子服务。

支持count
selectParents 查询 返回一个parents属性,包含父服务。

支持count
selectTags 查询 返回一个tags属性,包含服务标签。

支持count
selectProblemEvents 查询 返回一个problem_events属性,包含问题事件对象数组。

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

支持count
selectProblemTags 查询 返回一个problem_tags属性,包含问题标签。

支持count
selectStatusRules 查询 返回一个status_rules属性,包含状态规则。

支持count
selectStatusTimeline 对象/数组 返回一个status_timeline属性,包含指定期间的服务状态变化。

格式[{"period_from": "<period_from>", "period_to": "<period_to>"}, ...] - period_from为开始日期(包含;整数时间戳),period_to为结束日期(不包含;整数时间戳)的感兴趣期间。

返回包含start_value属性和alarms数组的条目,用于指定期间内的状态变化。
sortfield 字符串/数组 根据给定属性对结果进行排序。

可能的值: serviceid, name, status, sortorder, created_at
countOutput 布尔值 这些参数在参考说明中描述。
editable 布尔值
excludeSearch 布尔值
filter 对象
limit 整数
output 查询
preservekeys 布尔值
search 对象
searchByAny 布尔值
searchWildcardsEnabled 布尔值
sortorder 字符串/数组
startSearch 布尔值

返回值

(整型/数组) 返回其中之一: - 一个对象数组; - 如果使用countOutput参数,被检索对象的数量。

示例

检索所有服务

检索有关所有服务及其依赖关系的所有数据。 请求:

{
           "jsonrpc": "2.0",
           "method": "service.get",
           "params": {
               "output": "extend",
               "selectChildren": "extend",
               "selectParents": "extend"
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "serviceid": "1",
                   "name": "My Service - 0001",
                   "status": "-1",
                   "algorithm": "2",
                   "sortorder": "0",
                   "weight": "0",
                   "propagation_rule": "0",
                   "propagation_value": "0",
                   "description": "My Service Description 0001.",
                   "uuid": "dfa4daeaea754e3a95c04d6029182681",
                   "created_at": "946684800",
                   "readonly": false,
                   "parents": [],
                   "children": []
               },
               {
                   "serviceid": "2",
                   "name": "My Service - 0002",
                   "status": "-1",
                   "algorithm": "2",
                   "sortorder": "0",
                   "weight": "0",
                   "propagation_rule": "0",
                   "propagation_value": "0",
                   "description": "My Service Description 0002.",
                   "uuid": "20ea0d85212841219130abeaca28c065",
                   "created_at": "946684800",
                   "readonly": false,
                   "parents": [],
                   "children": []
               }
           ],
           "id": 1
       }

来源

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