UI modifications is a feature available for Forge apps only. It enables Forge apps to control how selected Jira fields behave on the following views: global issue create, issue view, issue transition. For example: hide specific fields, set them as required, etc.
Gets UI modifications. UI modifications can only be retrieved by Forge apps.
Permissions required: None.
The new read:app-data:jira
OAuth scope is 100% optional now, and not using it won't break your app. However, we recommend adding it to your app's scope list because we will eventually make it mandatory.
read:jira-work
read:jira-work
, read:app-data:jira
Connect app scope required: NONE
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/uiModifications`, {
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{
"isLast": true,
"maxResults": 100,
"startAt": 0,
"total": 3,
"values": [
{
"id": "d7dbda8a-6239-4b63-8e13-a5ef975c8e61",
"name": "Reveal Story Points",
"description": "Reveals Story Points field when any Sprint is selected.",
"self": "https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/d7dbda8a-6239-4b63-8e13-a5ef975c8e61",
"data": "{field: 'Story Points', config: {hidden: false}}",
"contexts": [
{
"id": "1533537a-bda3-4ac6-8481-846128cd9ef4",
"projectId": "10000",
"issueTypeId": "10000",
"viewType": "GIC",
"isAvailable": true
},
{
"id": "c016fefa-6eb3-40c9-8596-4c4ef273e67c",
"projectId": "10000",
"issueTypeId": "10001",
"viewType": "IssueView",
"isAvailable": true
},
{
"id": "1016defa-7ew3-40c5-8696-4c1efg73e67s",
"projectId": "10000",
"issueTypeId": "10002",
"viewType": "IssueTransition",
"isAvailable": true
}
]
},
{
"id": "e4fe8db5-f82f-416b-a3aa-b260b55da577",
"name": "Set Assignee",
"description": "Sets the Assignee field automatically.",
"self": "https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/e4fe8db5-f82f-416b-a3aa-b260b55da577",
"contexts": [
{
"id": "8b3740f9-8780-4958-8228-69dcfbda11d9",
"projectId": "10000",
"issueTypeId": "10000",
"viewType": "GIC",
"isAvailable": true
}
]
},
{
"id": "1453f993-79ce-4389-a36d-eb72d5c85dd6",
"name": "Hide Labels",
"description": "Hides Labels if any component is provided.",
"self": "https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/1453f993-79ce-4389-a36d-eb72d5c85dd6",
"contexts": []
},
{
"id": "d3f4097e-8d8e-451e-9fb6-27c3c8c3bfff",
"name": "Wildcard example",
"description": "This context is applied to all issue types",
"self": "https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/d3f4097e-8d8e-451e-9fb6-27c3c8c3bfff",
"contexts": [
{
"id": "521f2181-5d5e-46ea-9fc9-871bbf245b8b",
"projectId": "10000",
"issueTypeId": null,
"viewType": "GIC",
"isAvailable": true
}
]
}
]
}
Creates a UI modification. UI modification can only be created by Forge apps.
Each app can define up to 3000 UI modifications. Each UI modification can define up to 1000 contexts. The same context can be assigned to maximum 100 UI modifications.
Permissions required:
The new write:app-data:jira
OAuth scope is 100% optional now, and not using it won't break your app. However, we recommend adding it to your app's scope list because we will eventually make it mandatory.
read:jira-work
read:jira-work
, write:app-data:jira
Connect app scope required: NONE
Details of the UI modification.
array<UiModificationContextDetails>
string
string
string
RequiredReturned if the UI modification is created.
Identifiers for a UI modification.
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 = `{
"contexts": [
{
"issueTypeId": "10000",
"projectId": "10000",
"viewType": "GIC"
},
{
"issueTypeId": "10001",
"projectId": "10000",
"viewType": "IssueView"
},
{
"issueTypeId": "10002",
"projectId": "10000",
"viewType": "IssueTransition"
},
{
"issueTypeId": "10003",
"projectId": "10000",
"viewType": null
}
],
"data": "{field: 'Story Points', config: {hidden: false}}",
"description": "Reveals Story Points field when any Sprint is selected.",
"name": "Reveal Story Points"
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/uiModifications`, {
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
{
"id": "d7dbda8a-6239-4b63-8e13-a5ef975c8e61",
"self": "https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/d7dbda8a-6239-4b63-8e13-a5ef975c8e61"
}
Updates a UI modification. UI modification can only be updated by Forge apps.
Each UI modification can define up to 1000 contexts. The same context can be assigned to maximum 100 UI modifications.
Permissions required:
The new write:app-data:jira
OAuth scope is 100% optional now, and not using it won't break your app. However, we recommend adding it to your app's scope list because we will eventually make it mandatory.
read:jira-work
read:jira-work
, write:app-data:jira
Connect app scope required: NONE
string
RequiredDetails of the UI modification.
array<UiModificationContextDetails>
string
string
string
Returned if the UI modification is updated.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"contexts": [
{
"issueTypeId": "10000",
"projectId": "10000",
"viewType": "GIC"
},
{
"issueTypeId": "10001",
"projectId": "10000",
"viewType": "IssueView"
},
{
"issueTypeId": "10002",
"projectId": "10000",
"viewType": "IssueTransition"
}
],
"data": "{field: 'Story Points', config: {hidden: true}}",
"name": "Updated Reveal Story Points"
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/uiModifications/{uiModificationId}`, {
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 UI modification. All the contexts that belong to the UI modification are deleted too. UI modification can only be deleted by Forge apps.
Permissions required: None.
The new write:app-data:jira
OAuth scope is 100% optional now, and not using it won't break your app. However, we recommend adding it to your app's scope list because we will eventually make it mandatory.
write:app-data:jira
Connect app scope required: NONE
string
RequiredReturned if the UI modification 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/uiModifications/{uiModificationId}`, {
method: 'DELETE',
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Rate this page: