Open Context Protocol is live! 🚀 Read the launch post
getDashboardsPaginated

getDashboardsPaginated

Search for dashboards

Details

  • Method: GET
  • Path: /rest/api/3/dashboard/search
  • Operation ID: getDashboardsPaginated

Parameters

{
  "dashboardName": {
    "description": "String used to perform a case-insensitive partial match with `name`.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "accountId": {
    "description": "User account ID used to return dashboards with the matching `owner.accountId`. This parameter cannot be used with the `owner` parameter.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "owner": {
    "description": "This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return dashboards with the matching `owner.name`. This parameter cannot be used with the `accountId` parameter.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "groupname": {
    "description": "As a group's name can change, use of `groupId` is recommended. Group name used to return dashboards that are shared with a group that matches `sharePermissions.group.name`. This parameter cannot be used with the `groupId` parameter.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "groupId": {
    "description": "Group ID used to return dashboards that are shared with a group that matches `sharePermissions.group.groupId`. This parameter cannot be used with the `groupname` parameter.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "projectId": {
    "description": "Project ID used to returns dashboards that are shared with a project that matches `sharePermissions.project.id`.",
    "required": false,
    "location": "query",
    "type": "integer",
    "format": "int64"
  },
  "orderBy": {
    "description": "[Order](#ordering) the results by a field:\n\n *  `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to display the description field is in use.\n *  `favourite_count` Sorts by dashboard popularity.\n *  `id` Sorts by dashboard ID.\n *  `is_favourite` Sorts by whether the dashboard is marked as a favorite.\n *  `name` Sorts by dashboard name.\n *  `owner` Sorts by dashboard owner name.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "description",
      "-description",
      "+description",
      "favorite_count",
      "-favorite_count",
      "+favorite_count",
      "id",
      "-id",
      "+id",
      "is_favorite",
      "-is_favorite",
      "+is_favorite",
      "name",
      "-name",
      "+name",
      "owner",
      "-owner",
      "+owner"
    ]
  },
  "startAt": {
    "description": "The index of the first item to return in a page of results (page offset).",
    "required": false,
    "location": "query",
    "type": "integer",
    "format": "int64"
  },
  "maxResults": {
    "description": "The maximum number of items to return per page.",
    "required": false,
    "location": "query",
    "type": "integer",
    "format": "int32"
  },
  "status": {
    "description": "The status to filter by. It may be active, archived or deleted.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "active",
      "archived",
      "deleted"
    ]
  },
  "expand": {
    "description": "Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include:\n\n *  `description` Returns the description of the dashboard.\n *  `owner` Returns the owner of the dashboard.\n *  `viewUrl` Returns the URL that is used to view the dashboard.\n *  `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite.\n *  `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite.\n *  `sharePermissions` Returns details of the share permissions defined for the dashboard.\n *  `editPermissions` Returns details of the edit permissions defined for the dashboard.\n *  `isWritable` Returns whether the current user has permission to edit the dashboard.",
    "required": false,
    "location": "query",
    "type": "string"
  }
}

Response Schema

{
  "additionalProperties": false,
  "description": "A page of items.",
  "properties": {
    "isLast": {
      "description": "Whether this is the last page.",
      "readOnly": true,
      "type": "boolean"
    },
    "maxResults": {
      "description": "The maximum number of items that could be returned.",
      "format": "int32",
      "readOnly": true,
      "type": "integer"
    },
    "nextPage": {
      "description": "If there is another page of results, the URL of the next page.",
      "format": "uri",
      "readOnly": true,
      "type": "string"
    },
    "self": {
      "description": "The URL of the page.",
      "format": "uri",
      "readOnly": true,
      "type": "string"
    },
    "startAt": {
      "description": "The index of the first item returned.",
      "format": "int64",
      "readOnly": true,
      "type": "integer"
    },
    "total": {
      "description": "The number of items returned.",
      "format": "int64",
      "readOnly": true,
      "type": "integer"
    },
    "values": {
      "description": "The list of items.",
      "items": {
        "additionalProperties": false,
        "description": "Details of a dashboard.",
        "properties": {
          "automaticRefreshMs": {
            "description": "The automatic refresh interval for the dashboard in milliseconds.",
            "format": "int32",
            "readOnly": true,
            "type": "integer"
          },
          "description": {
            "type": "string"
          },
          "editPermissions": {
            "description": "The details of any edit share permissions for the dashboard.",
            "items": {
              "additionalProperties": false,
              "description": "Details of a share permission for the filter.",
              "properties": {
                "group": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GroupName"
                    }
                  ],
                  "description": "The group that the filter is shared with. For a request, specify the `groupId` or `name` property for the group. As a group's name can change, use of `groupId` is recommended."
                },
                "id": {
                  "description": "The unique identifier of the share permission.",
                  "format": "int64",
                  "readOnly": true,
                  "type": "integer"
                },
                "project": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Project"
                    }
                  ],
                  "description": "The project that the filter is shared with. This is similar to the project object returned by [Get project](#api-rest-api-3-project-projectIdOrKey-get) but it contains a subset of the properties, which are: `self`, `id`, `key`, `assigneeType`, `name`, `roles`, `avatarUrls`, `projectType`, `simplified`.  \nFor a request, specify the `id` for the project."
                },
                "role": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProjectRole"
                    }
                  ],
                  "description": "The project role that the filter is shared with.  \nFor a request, specify the `id` for the role. You must also specify the `project` object and `id` for the project that the role is in."
                },
                "type": {
                  "description": "The type of share permission:\n\n *  `user` Shared with a user.\n *  `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well.\n *  `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well.\n *  `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`.\n *  `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified.\n *  `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`.\n *  `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.",
                  "enum": [
                    "user",
                    "group",
                    "project",
                    "projectRole",
                    "global",
                    "loggedin",
                    "authenticated",
                    "project-unknown"
                  ],
                  "type": "string"
                },
                "user": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UserBean"
                    }
                  ],
                  "description": "The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user."
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "id": {
            "description": "The ID of the dashboard.",
            "readOnly": true,
            "type": "string"
          },
          "isFavourite": {
            "description": "Whether the dashboard is selected as a favorite by the user.",
            "readOnly": true,
            "type": "boolean"
          },
          "isWritable": {
            "description": "Whether the current user has permission to edit the dashboard.",
            "readOnly": true,
            "type": "boolean"
          },
          "name": {
            "description": "The name of the dashboard.",
            "readOnly": true,
            "type": "string"
          },
          "owner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserBean"
              }
            ],
            "description": "The owner of the dashboard.",
            "readOnly": true
          },
          "popularity": {
            "description": "The number of users who have this dashboard as a favorite.",
            "format": "int64",
            "readOnly": true,
            "type": "integer"
          },
          "rank": {
            "description": "The rank of this dashboard.",
            "format": "int32",
            "readOnly": true,
            "type": "integer"
          },
          "self": {
            "description": "The URL of these dashboard details.",
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "sharePermissions": {
            "description": "The details of any view share permissions for the dashboard.",
            "items": {
              "additionalProperties": false,
              "description": "Details of a share permission for the filter.",
              "properties": {
                "group": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GroupName"
                    }
                  ],
                  "description": "The group that the filter is shared with. For a request, specify the `groupId` or `name` property for the group. As a group's name can change, use of `groupId` is recommended."
                },
                "id": {
                  "description": "The unique identifier of the share permission.",
                  "format": "int64",
                  "readOnly": true,
                  "type": "integer"
                },
                "project": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Project"
                    }
                  ],
                  "description": "The project that the filter is shared with. This is similar to the project object returned by [Get project](#api-rest-api-3-project-projectIdOrKey-get) but it contains a subset of the properties, which are: `self`, `id`, `key`, `assigneeType`, `name`, `roles`, `avatarUrls`, `projectType`, `simplified`.  \nFor a request, specify the `id` for the project."
                },
                "role": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProjectRole"
                    }
                  ],
                  "description": "The project role that the filter is shared with.  \nFor a request, specify the `id` for the role. You must also specify the `project` object and `id` for the project that the role is in."
                },
                "type": {
                  "description": "The type of share permission:\n\n *  `user` Shared with a user.\n *  `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well.\n *  `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well.\n *  `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`.\n *  `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified.\n *  `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`.\n *  `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.",
                  "enum": [
                    "user",
                    "group",
                    "project",
                    "projectRole",
                    "global",
                    "loggedin",
                    "authenticated",
                    "project-unknown"
                  ],
                  "type": "string"
                },
                "user": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UserBean"
                    }
                  ],
                  "description": "The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user."
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "systemDashboard": {
            "description": "Whether the current dashboard is system dashboard.",
            "readOnly": true,
            "type": "boolean"
          },
          "view": {
            "description": "The URL of the dashboard.",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "readOnly": true,
      "type": "array"
    }
  },
  "type": "object"
}

Usage

from ocp_agent import OCPAgent

agent = OCPAgent()
await agent.register_api('jira')

# Call this tool
result = await agent.call_tool('getDashboardsPaginated', {
    # Add required parameters here
})