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

note

Related articles

Get all dashboards

Method type - 

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

Response format - 

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 - 

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

Response format - 

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 - 

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

  • where {DASHBOARD_ID} is dashboard id, like 10100

Response format - 

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 - 

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 - 

Example response:

{
   "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 - 

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 - 

Example response:

{
   "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 - 

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 - 

Example response:

{
    "numberOfColumns": 2,
    "layoutOption": "BA"
}



Get dashboard gadgets

Method type - 

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 - 

Example response:

[
   {
      "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 - 

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

Request format - 

Response format - 

Example request:

{
    "name": "Dashboard name",
    "owner": "user_name"
}


{
    "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 -

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 - 

Response format - 

Example request:

{
    "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"
    }
}
{
    "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

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

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 - 

Response format - 

Example request:

{
    "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



Changing the owner of dashboards

Method type - 

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

Request format - 

Example request

{
    "owner": "NEW_OWNER_USERNAME",
    "dashboards": [
      10001, 10000, 10003, 10005
    ]
}
{
    "owner": "NEW_OWNER_USERNAME",
    "dashboards": [
      10001
    ]
}

Response format - 

Example response

{
    "message": "We've changed the ownership of items - 1 dashboard",
    "status": "done"
}

 

note

You can change the owner of dashboards and JQL filters in one request

You can change the owner of dashboards and JQL filters in one request



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:

{
    "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