Dashboards

Available since v. 1.18.0

  • parameter favourite in "Create dashboard"

Available since v. 2.14.0

  • added new api “Get dashboard”

  • “Add gadget” - added ability to create a gadget with the completeModuleKey

  • some fields in the JSON request / response have been changed

    • ownerUserNameowner (string)

    • favouriteCountfavourite (boolean)

    • rowNumberrow (integer)

    • columnNumbercolumn (integer)

    • completeModuleKey (JSON object)

    • hasViewRights / hasEditRightsrights (string)

Available since v. 3.6.0

  • added new api “Get all dashboards for inactive users”

Available since v. 3.20.*

  • Added new api Changing the owner of filters

Get all dashboards

Method type - GET

URL: {JIRA_URL}/rest/extender/1.0/dashboard/all

Response format - JSON

Example response:

{ "total": 2, "maxResults": 1000, "dashboards": [ { "owner": null, "name": "System Dashboard", "description": null, "isSystemDefaultPortalPage": true, "id": 10000, "favourite": false, "version": 0 }, { "owner": "admin", "name": "Example Dashboard", "description": "Example Description", "isSystemDefaultPortalPage": false, "id": 10100, "favourite": 1, "version": 7 } ], "startAt": 0 }

Parameters

  • permissions - optional - (true or empty) - response JSON show all dashboard permission

  • layout - optional - (true or empty) - response JSON show dashboard layout configuration

  • gadgets - optional - (true or empty) - response JSON show all dashboard gadgets configuration




Get all dashboards for inactive users

Method type - GET

URL: {JIRA_URL}/rest/extender/1.0/dashboard/inactiveUsers

Response format - JSON

Example response:

{ "total": 2, "maxResults": 1000, "dashboards": [ { "owner": null, "name": "System Dashboard", "description": null, "isSystemDefaultPortalPage": true, "id": 10000, "favourite": false, "version": 0 }, { "owner": "admin", "name": "Example Dashboard", "description": "Example Description", "isSystemDefaultPortalPage": false, "favourite": 1, "version": 7 } ], "startAt": 0 }

Parameters

  • permissions - optional - (true or empty) - response JSON show all dashboard permission

  • layout - optional - (true or empty) - response JSON show dashboard layout configuration

  • gadgets - optional - (true or empty) - response JSON show all dashboard gadgets configuration


Get dashboard

Method type - GET

URL: {JIRA_URL}/rest/extender/1.0/dashboard/{DASHBOARD_ID}

  • where {DASHBOARD_ID} is dashboard id, like 10100

Response format - JSON

Example response:

{ "owner":"admin", "layout":{ "numberOfColumns":2, "layoutOption":"AA" }, "permissions":{ "isEmpty":false, "isGlobal":false, "isAuthenticated":false, "isPrivate":false, "permissionsMap":[ { "rights":"view", "id":10203, "type":"project", "param1":"10002", "param2":"10002" }, { "rights":"view", "id":10202, "type":"project", "param1":"10002", "param2":"10200" } ] }, "name":"Test dashoard", "description":"asdasdasd asd as", "isSystemDefaultPortalPage":false, "id":10100, "favourite":true, "version":35, "gadgets":[ { "completeModuleKey": { "completeKey": "com.atlassian.jira.gadgets:introduction-dashboard-item", "pluginKey": "com.atlassian.jira.gadgets", "moduleKey": "introduction-dashboard-item" }, "color": "color1", "userPreferences": {}, "column": 0, "id": 10000, "row": 0 }, { "completeModuleKey":null, "gadgetUrl":"rest/gadgets/1.0/g/com.atlassian.jira.gadgets:pie-chart-gadget/gadgets/piechart-gadget.xml", "color":"color1", "userPreferences":{ "isConfigured":"true", "statType":"assignees", "isPopup":"false", "name":"SSD", "refresh":"false", "projectOrFilterId":"", "id":"10000", "type":"project" }, "column":1, "id":10299, "row":0 }, { "completeModuleKey":null, "gadgetUrl":"rest/gadgets/1.0/g/com.atlassian.jira.gadgets:two-dimensional-stats-gadget/gadgets/two-dimensional-stats-gadget.xml", "color":"color1", "userPreferences":{ "filterId":"filter-10000", "isConfigured":"true", "sortDirection":"asc", "isPopup":"false", "ystattype":"assignees", "more":"false", "refresh":"15", "sortBy":"natural", "xstattype":"reporter", "numberToShow":"5" }, "column":1, "id":10300, "row":1 } ] }

Parameters

  • permissions - optional - (true or empty) - response JSON show all dashboard permission

  • layout - optional - (true or empty) - response JSON show dashboard layout configuration

  • gadgets - optional - (true or empty) - response JSON show all dashboard gadgets configuration




Get all dashboards for specific owner

Method type - GET

URL: {JIRA_URL}/rest/extender/1.0/dashboard/user/{JIRA_USER}

  • where {JIRA_USER} is JIRA user name, like admin

Example URL: {JIRA_URL}/rest/extender/1.0/dashboard/user/admin

Response format - JSON

Example response:

Parameters

  • permissions - optional - (true or empty) - response JSON show dashboard permissions

  • layout - optional - (true or empty) - response JSON show dashboard layout configuration

  • gadgets - optional - (true or empty) - response JSON show all dashboard gadgets configuration

  • startAt and maxResults - optional - please see Pagination section bottom of this page




Get dashboard permissions

Method type - GET

URL: {JIRA_URL}/rest/extender/1.0/dashboard/{DASHBOARD_ID}/permissions

  • where {DASHBOARD_ID} is dashboard id, like 10100

Example URL: {JIRA_URL}/rest/extender/1.0/dashboard/10100/permissions

Response format - JSON

Example response:




Get dashboard layout

Method type - GET

URL: {JIRA_URL}/rest/extender/1.0/dashboard/{DASHBOARD_ID}/layout

  • where {DASHBOARD_ID} is dashboard id, like 10100

Example URL: {JIRA_URL}/rest/extender/1.0/dashboard/10100/layout

Response format - JSON

Example response:




Get dashboard gadgets

Method type - GET

URL: {JIRA_URL}/rest/extender/1.0/dashboard/{DASHBOARD_ID}/gadgets

  • where {DASHBOARD_ID} is dashboard id, like 10100

Example URL: {JIRA_URL}/rest/extender/1.0/dashboard/10100/gadgets

Response format - JSON

Example response:




Create dashboard

Method type - POST

URL: {JIRA_URL}/rest/extender/1.0/dashboard/create

Request format - JSON

Response format - JSON

Example request:



  • name - required - dashboard name

  • owner - required - owner name, like admin 

  • description - optional - dashboard description

  • favourite - optional - true/false

  • layout - optional - dashboard layout (A, AA, AB, BA, AAA or ABA) 

  • permissions - optional - permission set for dashboard




Add gadget

Method type - POST

URL: {JIRA_URL}/rest/extender/1.0/dashboard/{DASHBOARD_ID}/addGadget

  • where {DASHBOARD_ID} is dashboard id, like 10100

Example URL: {JIRA_URL}/rest/extender/1.0/dashboard/10100/addGadget

Request format - JSON

Response format - JSON

Example request:

  • gadgetUrl or completeModuleKey (with 'pluginKey' and 'completeModuleKey') - required - gadget URL or plugin/module key

  • column - required - column number (starting from 0, 0 = first column, 1 = second column etc. )

  • row - required - row number

  • color - required - gadget color - available option: colorX (where X is number form 1 to 8)

  • userPreferences - gadget configurations

Before you create new gadget, please configure one and check its configuration using Get dashboard gadgets




Edit gadget

Method type - POST

URL: {JIRA_URL}/rest/extender/1.0/dashboard/editGadget/{GADGET_ID}

  • where {GADGET_ID} is gadget id, like 10101

Example URL: {JIRA_URL}/rest/extender/1.0/dashboard/editGadget/10101

Request format - JSON

Response format - JSON

Example request:

  • column - optional - column number (starting from 0, 0 = first column, 1 = second column etc. )

  • row - optional - row number (starting from 0, 0 = first row, 1 = second row etc. )

  • color - optional - gadget color - available option: colorX (where X is number form 1 to 8)

  • userPreferences - gadget configurations




Changing the owner of dashboards

Method type - POST

URL: {JIRA_URL}/rest/extender/1.0/ownership/change

Request format - JSON

Example request

Response format - JSON

Example response

 




Pagination

This REST API uses pagination to improve performance for all users. Pagination is enforced for methods that could return a large collection of items. When you make a request to a paged API, the response will wrap the returned array of values in a JSON object with paging metadata, for example:

Where:

  • startAt is the index of the first item returned in the page of results.

  • maxResults is the maximum number of items that can be returned per page. Each API endpoint may have a different limit for the number of items returned, and these limits may change without notice. (default value - 100)

  • total is the total number of items contained in all pages. This number may change as the client requests the subsequent pages, therefore the client should always assume that the requested page can be empty.

Example:

  • {JIRA_URL}/rest/extender/1.0/dashboards/all&startAt=10&maxResults=20

  • {JIRA_URL}/rest/extender/1.0/dashboards/admin&startAt=1&maxResults=010