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)

Get all dashboards

Method type - GET

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

Response format - JSON

Example response:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 { "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 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:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 { "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:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 { "total":11, "maxResults":1000, "dashboards":[ { "owner":"admin", "permissions":{ "isEmpty":false, "isGlobal":false, "isAuthenticated":false, "isPrivate":false, "permissionsMap":[ { "rights":"view", "id":10320, "type":"project", "param1":"10002", "param2":"10002" }, { "rights":"view", "id":10321, "type":"project", "param1":"10002", "param2":"10200" } ] }, "name":"11", "description":"asdasdasd asd as", "isSystemDefaultPortalPage":false, "id":10205, "favourite":false, "version":0, "gadgets":[ { "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":"15", "projectOrFilterId":"", "id":"10000", "type":"project" }, "column":0, "id":10235, "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-10215", "isConfigured":"true", "sortDirection":"asc", "isPopup":"false", "ystattype":"assignees", "more":"false", "refresh":"15", "sortBy":"natural", "xstattype":"assignees", "numberToShow":"5" }, "column":0, "id":10236, "row":1 }, { "completeModuleKey":null, "gadgetUrl":"rest/gadgets/1.0/g/com.atlassian.streams.streams-jira-plugin:activitystream-gadget/gadgets/activitystream-gadget.xml", "color":"color1", "userPreferences":{ "isConfigured":"true", "keys":"", "refresh":"false", "isReallyConfigured":"true", "rules":"%7B%22rules%22%3A%5B%5D%7D", "title":"Activity%20Stream", "itemKeys":"", "titleRequired":"true", "numofentries":"10", "maxProviderLabelCharacters":"50", "renderingContext":"", "username":"" }, "column":0, "id":10237, "row":2 }, { "completeModuleKey":null, "gadgetUrl":"rest/gadgets/1.0/g/com.atlassian.jira.gadgets:assigned-to-me-gadget/gadgets/assigned-to-me-gadget.xml", "color":"color1", "userPreferences":{ "isConfigured":"true", "refresh":"15", "sortColumn":"", "columnNames":"issuetype|issuekey|summary|priority|assignee", "num":"10" }, "column":1, "id":10238, "row":0 }, { "completeModuleKey":null, "gadgetUrl":"rest/gadgets/1.0/g/com.atlassian.jira.gadgets:stats-gadget/gadgets/stats-gadget.xml", "color":"color1", "userPreferences":{ "isConfigured":"true", "sortDirection":"asc", "statType":"assignees", "name":"TEST1", "refresh":"15", "sortBy":"natural", "projectOrFilterId":"filter-10217", "includeResolvedIssues":"false", "id":"10100", "type":"filter" }, "column":1, "id":10239, "row":1 }, { "completeModuleKey":null, "gadgetUrl":"rest/gadgets/1.0/g/com.atlassian.jira.gadgets:created-vs-resolved-issues-chart-gadget/gadgets/createdvsresolved-gadget.xml", "color":"color1", "userPreferences":{ "isConfigured":"true", "isPopup":"false", "refresh":"15", "periodName":"weekly", "showUnresolvedTrend":"false", "projectOrFilterId":"", "type":"project", "versionLabel":"all", "isCumulative":"false", "name":"SSD", "daysprevious":"30", "id":"10000", "operation":"cumulative" }, "column":1, "id":10240, "row":2 }, { "completeModuleKey":null, "gadgetUrl":"rest/gadgets/1.0/g/com.atlassian.jira.gadgets:filter-results-gadget/gadgets/filter-results-gadget.xml", "color":"color1", "userPreferences":{ "filterId":"10217", "isConfigured":"true", "columnNames":"issuetype|issuekey|summary|priority|components", "isPopup":"false", "num":"10", "refresh":"15" }, "column":1, "id":10241, "row":3 } ] }, ... ], "startAt":0 }

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:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 { "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" } ] }




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:

1 2 3 4 { "numberOfColumns": 2, "layoutOption": "BA" }




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:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 [ { "completeModuleKey":null, "gadgetUrl":"rest/gadgets/1.0/g/com.atlassian.jira.gadgets:filter-results-gadget/gadgets/filter-results-gadget.xml", "color":"color1", "userPreferences":{ "filterId":"10000", "isConfigured":"true", "columnNames":"issuetype|issuekey|summary|priority|components", "isPopup":"false", "num":"10", "refresh":"15" }, "column":0, "id":10298, "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 } ]




Create dashboard

Method type - POST

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

Request format - JSON

Response format - JSON

Example request:

1 2 3 4 { "name": "Dashboard name", "owner": "user_name" }



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 { "name": "Dashboard name", "owner": "user_name", "description": "Dashboard description", "layout": "AB", "permissions": [ { "type": "group", "param1": "jira-administrators", "param2": null, "rights": "view" }, { "type": "project", "param1": "10000", "param2": "10002", "rights": "edit" } ] }
  • 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:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 { "gadgetUrl": "rest/gadgets/1.0/g/com.atlassian.jira.gadgets:filter-results-gadget/gadgets/filter-results-gadget.xml", "column": 0, "row": 7, "color":"color6", "userPreferences":{ "filterId": "10000", "isConfigured": "true", "isPopup": "false", "columnNames": "issuetype|issuekey|summary", "refresh": "15", "num": "20" } }
1 2 3 4 5 6 7 8 9 10 11 { "completeModuleKey": { "pluginKey": "com.atlassian.jira.gadgets", "moduleKey": "introduction-dashboard-item" }, "color": "color1", "userPreferences": {}, "column": 0, "id": 10000, "row": 0 }
  • 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 (starting from 0, 0 = first row, 1 = second row etc. )

  • 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:

1 2 3 4 5 6 7 8 9 10 11 12 13 { "column": 0, "row": 7, "color":"color6", "userPreferences":{ "filterId": "10000", "isConfigured": "true", "isPopup": "false", "columnNames": "issuetype|issuekey|summary", "refresh": "15", "num": "20" } }
  • 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

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






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:

1 2 3 4 5 6 7 8 9 10 {     "startAt" : 0,     "maxResults" : 10,     "total": 200,     "objects": [         { /* result 0 */ },         { /* result 1 */ },         { /* result 2 */ }     ] }

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