service.get

描述

integer/array service.get(object parameters)

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

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

参数

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

该方法支持以下参数。

参数 数据类型 描述
serviceids ID/array 仅返回具有指定 ID 的服务。
parentids ID/array 仅返回与给定父服务关联的服务。
deep_parentids flag 返回所有直接和间接的子服务。需与 parentids 一起使用。
childids ID/array 仅返回与给定子服务关联的服务。
evaltype integer 标签搜索规则。

可能的值:
0 - (默认) 与/或;
2 - 或。
tags object/array 仅返回具有指定标签的服务。根据操作符的值,按标签进行精确匹配,或对标签值进行区分大小写或不区分大小写的搜索。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空的 array 将返回所有服务。

可能的操作符值:
0 - (默认) 包含;
1 - 等于;
2 - 不包含;
3 - 不等于;
4 - 存在;
5 - 不存在。
problem_tags object/array 仅返回具有指定问题标签的服务。根据操作符的值,按标签进行精确匹配,以及区分大小写或不区分大小写的标签值搜索。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空的 array 返回所有服务。

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

支持 count
selectParents query 在返回的服务中包含一个 parents 属性。

支持 count
selectTags query 返回一个带有服务标签的 tags 属性。

支持 count
selectProblemEvents query 返回一个 problem_events 属性,并带有问题事件 objects 的 array。

问题事件 object 具有以下属性:
eventid - (ID) 事件 ID;
severity - (string) 当前事件严重性;
name - (string) 已解决事件名称。

支持 count
selectProblemTags query 返回一个包含问题标签的 problem_tags 属性。

支持 count
selectStatusRules query 返回一个包含状态规则的 status_rules 属性。

支持 count
selectStatusTimeline object/array 返回一个包含给定时间段内服务状态变化的 status_timeline 属性。

格式为 [{"period_from": "<period_from>", "period_to": "<period_to>"}, ...] - period_from(integer 时间戳,包含)和 period_to(integer 时间戳,不包含)分别表示您感兴趣的周期的起始日期(包含)和结束日期(不包含)。

返回一个包含 start_value 属性和指定周期内状态变化的 alarms array 的条目array。
sortfield string/array 按照给定属性对结果进行排序。

可能的值:serviceidnamestatussortordercreated_at
countOutput boolean 这些参数在通用get方法参数中进行了描述。
editable boolean
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;
  • 如果使用了 countOutput 参数,则为检索到的 objects 的数量。

示例

检索所有服务

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

执行请求:

{
           "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() 在 ui/include/classes/api/services/CService.php 中。