更新

说明

object dashboard.update(object/array dashboards)

此方法用于更新已有仪表盘。

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

参数

(object/array) 仪表盘需要被更新的属性。

请求中必须传入 dashboardid 属性,除此之外的其他属性都是可选的。只有请求中定义的属性会被更新,其他属性都不会被更新。

除了标准仪表盘属性,此方法还接受以下参数:

参数类型说明
pagesarray用于替换现有仪表盘页面的仪表盘页面对象。

仪表盘页面通过 dashboard_pageid 属性进行更新。
若未传入 dashboard_pageid 属性,则会创建一个新的仪表盘页面。
未使用的仪表盘页面(即 pages 中不包含的仪表盘页面对象)会被删除。
仪表盘页面的顺序与请求中指定的顺序相同。
只有仪表盘页面对象中包含的仪表盘页面属性会被更新。
usersarray用于替换现有仪表盘用户的仪表盘用户对象。
userGroupsarray用于替换现有仪表盘用户组的仪表盘用户组对象。

返回值

(object) 返回一个对象,该对象包含 dashboardids 属性, 代表被更新的仪表盘的 ID。

示例

重命名仪表盘

将仪表盘重命名为:”SQL server status”。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "dashboard.update",
  4. "params": {
  5. "dashboardid": "2",
  6. "name": "SQL server status"
  7. },
  8. "id": 1
  9. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "dashboardids": [
  5. "2"
  6. ]
  7. },
  8. "id": 1
  9. }

更新仪表盘页面

此请求包含以下操作: - 1、重命名第一个仪表盘页面; - 2、替换第二个仪表盘页面的组件; - 3、新增一个仪表盘页面作为第三个仪表盘页面; - 4、删除其他所有仪表盘页面。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "dashboard.update",
  4. "params": {
  5. "dashboardid": "2",
  6. "pages": [
  7. {
  8. "dashboard_pageid": 1,
  9. "name": "Renamed Page"
  10. },
  11. {
  12. "dashboard_pageid": 2,
  13. "widgets": [
  14. {
  15. "type": "clock",
  16. "x": 0,
  17. "y": 0,
  18. "width": 12,
  19. "height": 3
  20. }
  21. ]
  22. },
  23. {
  24. "display_period": 60
  25. }
  26. ]
  27. },
  28. "id": 1
  29. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "dashboardids": [
  5. "2"
  6. ]
  7. },
  8. "id": 1
  9. }

修改仪表盘所有者

此请求只允许管理员和超级管理员发起。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "dashboard.update",
  4. "params": {
  5. "dashboardid": "2",
  6. "userid": "1"
  7. },
  8. "id": 1
  9. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "dashboardids": [
  5. "2"
  6. ]
  7. },
  8. "id": 1
  9. }

参考

来源

ui/include/classes/api/services/CDashboard.php 中的 CDashboard::update()