This resource represents dashboards. Use it to obtain the details of dashboards as well as get, create, update, or remove item properties and gadgets from dashboards.
Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards.
This operation can be accessed anonymously.
Permissions required: None.
read:jira-work
read:dashboard:jira
, read:group:jira
, read:project:jira
, read:project-role:jira
, read:user:jira
...(Show more)Connect app scope required: READ
string
integer
integer
Returned if the request is successful.
A page containing dashboard details.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
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
{
"dashboards": [
{
"id": "10000",
"isFavourite": false,
"name": "System Dashboard",
"popularity": 1,
"self": "https://your-domain.atlassian.net/rest/api/3/dashboard/10000",
"sharePermissions": [
{
"type": "global"
}
],
"view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"
},
{
"id": "20000",
"isFavourite": true,
"name": "Build Engineering",
"owner": {
"key": "Mia",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"name": "mia",
"displayName": "Mia Krystof",
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
}
},
"popularity": 1,
"self": "https://your-domain.atlassian.net/rest/api/3/dashboard/20000",
"sharePermissions": [
{
"group": {
"name": "administrators",
"self": "https://your-domain.atlassian.net/rest/api/3/group?groupname=administrators"
},
"id": 10105,
"type": "group"
}
],
"view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=20000"
}
],
"maxResults": 10,
"next": "https://your-domain.atlassian.net/rest/api/3/dashboard?startAt=10",
"prev": "https://your-domain.atlassian.net/rest/api/3/dashboard?startAt=0",
"startAt": 10,
"total": 143
}
Creates a dashboard.
Permissions required: None.
write:jira-work
read:dashboard:jira
, read:group:jira
, read:project:jira
, read:project-role:jira
, read:user:jira
...(Show more)Connect app scope required: WRITE
boolean
Dashboard details.
string
array<SharePermission>
Requiredstring
Requiredarray<SharePermission>
RequiredReturned if the request is successful.
Details of a dashboard.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"description": "A dashboard to help auditors identify sample of issues to check.",
"editPermissions": [],
"name": "Auditors dashboard",
"sharePermissions": [
{
"type": "global"
}
]
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"id": "10000",
"isFavourite": false,
"name": "System Dashboard",
"popularity": 1,
"self": "https://your-domain.atlassian.net/rest/api/3/dashboard/10000",
"sharePermissions": [
{
"type": "global"
}
],
"view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"
}
Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.
Permissions required: None
The dashboards to be updated must be owned by the user, or the user must be an administrator.
write:jira-work
read:dashboard:jira
, read:group:jira
, read:project:jira
, read:project-role:jira
, read:user:jira
...(Show more)Connect app scope required: WRITE
The details of dashboards being updated in bulk.
string
RequiredBulkChangeOwnerDetails
array<integer>
Requiredboolean
PermissionDetails
Returned if the request is successful.
Details of a request to bulk edit shareable entity.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"action": "changePermission",
"entityIds": [
10001,
10002
],
"extendAdminPermissions": true,
"permissionDetails": {
"editPermissions": [
{
"group": {
"groupId": "276f955c-63d7-42c8-9520-92d01dca0625",
"name": "jira-administrators",
"self": "https://your-domain.atlassian.net/rest/api/~ver~/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"
},
"id": 10010,
"type": "group"
}
],
"sharePermissions": [
{
"id": 10000,
"type": "global"
}
]
}
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/bulk/edit`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
{
"action": "changePermission",
"entityErrors": {
"10002": {
"errorMessages": [
"Only owner or editors of the dashboard can change permissions."
],
"errors": {}
}
}
}
Gets a list of all available gadgets that can be added to all dashboards.
Permissions required: None.
read:jira-work
read:dashboard:jira
Connect app scope required: READ
This request has no parameters.
Returned if the request is successful.
The list of available gadgets.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/gadgets`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
{
"gadgets": [
{
"moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item",
"title": "Issue statistics"
},
{
"uri": "rest/gadgets/1.0/g/com.atlassian.streams.streams-jira-plugin:activitystream-gadget/gadgets/activitystream-gadget.xml",
"title": "Activity Stream"
}
]
}
Returns a paginated list of dashboards. This operation is similar to Get dashboards except that the results can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name. When multiple attributes are specified only filters matching all attributes are returned.
This operation can be accessed anonymously.
Permissions required: The following dashboards that match the query parameters are returned:
read:jira-work
read:dashboard:jira
, read:group:jira
, read:project:jira
, read:project-role:jira
, read:user:jira
...(Show more)Connect app scope required: READ
string
string
string
string
string
integer
string
integer
integer
string
Returned if the request is successful.
A page of items.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/search`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
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
{
"isLast": true,
"maxResults": 100,
"self": "https://your-domain.atlassian.net/rest/api/3/dashboard/search?expand=owner&maxResults=50&startAt=0",
"startAt": 0,
"total": 2,
"values": [
{
"description": "Testing program",
"id": "1",
"isFavourite": true,
"name": "Testing",
"owner": {
"self": "https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g",
"displayName": "Mia",
"active": true,
"accountId": "5b10a2844c20165700ede21g",
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
}
},
"popularity": 1,
"self": "https://your-domain.atlassian.net/rest/api/3/dashboard/1",
"sharePermissions": [
{
"type": "global"
}
],
"view": "https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=1"
},
{
"description": "Quantum initiative",
"id": "2",
"isFavourite": false,
"name": "Quantum ",
"owner": {
"self": "https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g",
"displayName": "Mia",
"active": true,
"accountId": "5b10a2844c20165700ede21g",
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
}
},
"popularity": 0,
"self": "https://your-domain.atlassian.net/rest/api/3/dashboard/2",
"sharePermissions": [
{
"type": "loggedin"
}
],
"view": "https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=2"
}
]
}
Returns a list of dashboard gadgets on a dashboard.
This operation returns:
id
is set.moduleKey
is set.uri
is set.This operation can be accessed anonymously.
Permissions required: None.
read:jira-work
read:dashboard:jira
Connect app scope required: READ
integer
Requiredarray<string>
array<string>
array<integer>
Returned if the request is successful.
The list of gadgets on the dashboard.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{dashboardId}/gadget`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
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
{
"gadgets": [
{
"id": 10001,
"moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item",
"color": "blue",
"position": {
"row": 0,
"column": 0
},
"title": "Issue statistics"
},
{
"id": 10002,
"moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-graph",
"color": "red",
"position": {
"row": 1,
"column": 0
},
"title": "Activity stream"
},
{
"id": 10003,
"moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item",
"color": "yellow",
"position": {
"row": 0,
"column": 1
},
"title": "Bubble chart"
}
]
}
Adds a gadget to a dashboard.
Permissions required: None.
write:jira-work
, read:jira-work
write:dashboard:jira
, read:dashboard:jira
Connect app scope required: WRITE
integer
Requiredstring
boolean
string
DashboardGadgetPosition
string
string
Returned if the request is successful.
Details of a gadget.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"color": "blue",
"ignoreUriAndModuleKeyValidation": false,
"moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item",
"position": {
"column": 1,
"row": 0
},
"title": "Issue statistics"
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{dashboardId}/gadget`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
{
"color": "blue",
"id": 10001,
"moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item",
"position": {
"column": 1,
"row": 0
},
"title": "Issue statistics"
}
Changes the title, position, and color of the gadget on a dashboard.
Permissions required: None.
write:jira-work
write:dashboard:jira
Connect app scope required: WRITE
integer
Requiredinteger
Requiredstring
DashboardGadgetPosition
string
Returned if the request is successful.
any
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"color": "red",
"position": {
"column": 1,
"row": 1
},
"title": "My new gadget title"
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{dashboardId}/gadget/{gadgetId}`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Removes a dashboard gadget from a dashboard.
When a gadget is removed from a dashboard, other gadgets in the same column are moved up to fill the emptied position.
Permissions required: None.
write:jira-work
write:dashboard:jira
Connect app scope required: DELETE
integer
Requiredinteger
RequiredReturned if the request is successful.
any
1
2
3
4
5
6
7
8
9
10
11
12
13
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{dashboardId}/gadget/{gadgetId}`, {
method: 'DELETE',
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Returns the keys of all properties for a dashboard item.
This operation can be accessed anonymously.
Permissions required: The user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the Administer Jira global permission are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when Jira\u2019s anonymous access is permitted.
read:jira-work
read:dashboard.property:jira
Connect app scope required: READ
string
Requiredstring
RequiredReturned if the request is successful.
List of property keys.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
{
"keys": [
{
"key": "issue.support",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support"
}
]
}
Returns the key and value of a dashboard item property.
A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see Adding and customizing gadgets.
When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see Building a dashboard item for a JIRA Connect add-on and the Dashboard Item documentation.
There is no resource to set or get dashboard items.
This operation can be accessed anonymously.
Permissions required: The user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the Administer Jira global permission are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when Jira\u2019s anonymous access is permitted.
read:jira-work
read:dashboard.property:jira
Connect app scope required: READ
string
Requiredstring
Requiredstring
RequiredReturned if the request is successful.
An entity property, for more information see Entity properties.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
{
"key": "issue.support",
"value": {
"system.conversation.id": "b1bf38be-5e94-4b40-a3b8-9278735ee1e6",
"system.support.time": "1m"
}
}
Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard item.
A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see Adding and customizing gadgets.
When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see Building a dashboard item for a JIRA Connect add-on and the Dashboard Item documentation.
There is no resource to set or get dashboard items.
The value of the request body must be a valid, non-empty JSON blob. The maximum length is 32768 characters.
This operation can be accessed anonymously.
Permissions required: The user must be the owner of the dashboard. Note, users with the Administer Jira global permission are considered owners of the System dashboard.
write:jira-work
write:dashboard.property:jira
Connect app scope required: WRITE
string
Requiredstring
Requiredstring
RequiredThe value of the property. The value has to be a valid, non-empty JSON value. The maximum length of the property value is 32768 bytes.
any
Returned if the dashboard item property is updated.
any
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"number": 5,
"string": "string-value"
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Deletes a dashboard item property.
This operation can be accessed anonymously.
Permissions required: The user must be the owner of the dashboard. Note, users with the Administer Jira global permission are considered owners of the System dashboard.
write:jira-work
delete:dashboard.property:jira
Connect app scope required: DELETE
string
Requiredstring
Requiredstring
RequiredReturned if the dashboard item property is deleted.
any
1
2
3
4
5
6
7
8
9
10
11
12
13
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}`, {
method: 'DELETE',
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Returns a dashboard.
This operation can be accessed anonymously.
Permissions required: None.
However, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with the Administer Jira global permission are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.
read:jira-work
read:dashboard:jira
, read:group:jira
, read:project:jira
, read:project-role:jira
, read:user:jira
...(Show more)Connect app scope required: READ
string
RequiredReturned if the request is successful.
Details of a dashboard.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{id}`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"id": "10000",
"isFavourite": false,
"name": "System Dashboard",
"popularity": 1,
"self": "https://your-domain.atlassian.net/rest/api/3/dashboard/10000",
"sharePermissions": [
{
"type": "global"
}
],
"view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"
}
Updates a dashboard, replacing all the dashboard details with those provided.
Permissions required: None
The dashboard to be updated must be owned by the user.
write:jira-work
read:dashboard:jira
, read:group:jira
, read:project:jira
, read:project-role:jira
, read:user:jira
...(Show more)Connect app scope required: WRITE
string
Requiredboolean
Replacement dashboard details.
string
array<SharePermission>
Requiredstring
Requiredarray<SharePermission>
RequiredReturned if the request is successful.
Details of a dashboard.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"description": "A dashboard to help auditors identify sample of issues to check.",
"editPermissions": [],
"name": "Auditors dashboard",
"sharePermissions": [
{
"type": "global"
}
]
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{id}`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"id": "10000",
"isFavourite": false,
"name": "System Dashboard",
"popularity": 1,
"self": "https://your-domain.atlassian.net/rest/api/3/dashboard/10000",
"sharePermissions": [
{
"type": "global"
}
],
"view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"
}
Deletes a dashboard.
Permissions required: None
The dashboard to be deleted must be owned by the user.
write:jira-work
delete:dashboard:jira
Connect app scope required: DELETE
string
RequiredReturned if the dashboard is deleted.
1
2
3
4
5
6
7
8
9
10
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{id}`, {
method: 'DELETE'
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.text());
Copies a dashboard. Any values provided in the dashboard
parameter replace those in the copied dashboard.
Permissions required: None
The dashboard to be copied must be owned by or shared with the user.
write:jira-work
read:dashboard:jira
, read:group:jira
, read:project:jira
, read:project-role:jira
, read:user:jira
...(Show more)Connect app scope required: WRITE
string
Requiredboolean
Dashboard details.
string
array<SharePermission>
Requiredstring
Requiredarray<SharePermission>
RequiredReturned if the request is successful.
Details of a dashboard.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"description": "A dashboard to help auditors identify sample of issues to check.",
"editPermissions": [],
"name": "Auditors dashboard",
"sharePermissions": [
{
"type": "global"
}
]
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/dashboard/{id}/copy`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"id": "10000",
"isFavourite": false,
"name": "System Dashboard",
"popularity": 1,
"self": "https://your-domain.atlassian.net/rest/api/3/dashboard/10000",
"sharePermissions": [
{
"type": "global"
}
],
"view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"
}
Rate this page: