This resource represents issue security schemes. Use it to get an issue security scheme or a list of issue security schemes.
Issue security schemes control which users or groups of users can view an issue. When an issue security scheme is associated with a project, its security levels can be applied to issues in that project. Sub-tasks also inherit the security level of their parent issue.
Returns all issue security schemes.
Permissions required: Administer Jira global permission.
manage:jira-project
read:issue-security-level:jira
, read:issue-security-scheme:jira
Connect app scope required: ADMIN
This request has no parameters.
Returned if the request is successful.
List of security schemes.
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/issuesecurityschemes`, {
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
{
"issueSecuritySchemes": [
{
"defaultSecurityLevelId": 10021,
"description": "Description for the default issue security scheme",
"id": 10000,
"name": "Default Issue Security Scheme",
"self": "https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000"
}
]
}
Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme levels and security scheme levels' members per request.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
string
array<SecuritySchemeLevelBean>
string
Requiredany
Returned if the request is successful.
The ID of the issue security scheme.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"description": "Newly created issue security scheme",
"levels": [
{
"description": "Newly created level",
"isDefault": true,
"members": [
{
"parameter": "administrators",
"type": "group"
}
],
"name": "New level"
}
],
"name": "New security scheme"
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes`, {
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
{
"id": "10001"
}
Returns a paginated list of issue security levels.
Only issue security levels in the context of classic projects are returned.
Filtering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include both specified issue security levels and all issue security levels from the specified schemes.
Permissions required: Administer Jira global permission.
manage:jira-configuration
read:issue-security-level:jira
, read:issue-security-scheme:jira
Connect app scope required: ADMIN
string
string
array<string>
array<string>
boolean
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/issuesecurityschemes/level`, {
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
{
"isLast": true,
"maxResults": 50,
"startAt": 0,
"total": 1,
"values": [
{
"description": "Only the reporter and internal staff can see this issue.",
"id": "10021",
"isDefault": true,
"issueSecuritySchemeId": "10001",
"name": "Reporter Only",
"self": "https://your-domain.atlassian.net/rest/api/3/issuesecurityscheme/level?id=10021"
}
]
}
Sets default issue security levels for schemes.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
array<DefaultLevelValue>
Requiredany
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
25
26
27
28
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"defaultValues": [
{
"defaultLevelId": "20000",
"issueSecuritySchemeId": "10000"
},
{
"defaultLevelId": "30000",
"issueSecuritySchemeId": "12000"
}
]
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/level/default`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Returns a paginated list of issue security level members.
Only issue security level members in the context of classic projects are returned.
Filtering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will include all issue security level members from the specified schemes and levels.
Permissions required: Administer Jira global permission.
manage:jira-configuration
read:issue-security-level:jira
, read:issue-security-scheme:jira
Connect app scope required: ADMIN
string
string
array<string>
array<string>
array<string>
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/issuesecurityschemes/level/member`, {
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
{
"isLast": true,
"maxResults": 100,
"startAt": 0,
"total": 3,
"values": [
{
"id": "10000",
"issueSecurityLevelId": "20010",
"issueSecuritySchemeId": "10010",
"holder": {
"expand": "group",
"type": "group"
}
}
]
}
Returns a paginated mapping of projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the context of classic projects are supported. Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
string
string
array<string>
array<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/issuesecurityschemes/project`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
{
"issueSecuritySchemeId": "10000",
"projectId": "10000"
}
Associates an issue security scheme with a project and remaps security levels of issues to the new levels, if provided.
This operation is asynchronous. Follow the location
link in the response to determine the status of the task and use Get task to obtain subsequent updates.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
array<OldToNewSecurityLevelMappingsBean>
string
Requiredstring
RequiredReturned if the request is successful.
Details about a task.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"oldToNewSecurityLevelMappings": [
{
"newLevelId": "30001",
"oldLevelId": "30000"
}
],
"projectId": "10000",
"schemeId": "20000"
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/project`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.text());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"description": "<string>",
"elapsedRuntime": 48,
"finished": 49,
"id": "<string>",
"lastUpdate": 62,
"message": "<string>",
"progress": 51,
"self": "<string>",
"started": 48,
"status": "ENQUEUED",
"submitted": 50,
"submittedBy": 42
}
Returns a paginated list of issue security schemes.
If you specify the project ID parameter, the result will contain issue security schemes and related project IDs you filter by. Use {@link IssueSecuritySchemeResource#searchProjectsUsingSecuritySchemes(String, String, Set, Set)} to obtain all projects related to scheme.
Only issue security schemes in the context of classic projects are returned.
Permissions required: Administer Jira global permission.
manage:jira-configuration
read:issue-security-level:jira
, read:issue-security-scheme:jira
Connect app scope required: ADMIN
string
string
array<string>
array<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/issuesecurityschemes/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
{
"id": 10000,
"self": "https://your-domain.atlassian.net/rest/api/3/issuesecurityscheme/10000",
"name": "Default scheme",
"description": "Default scheme description",
"defaultLevel": 10001,
"projectIds": [
10002
]
}
Returns an issue security scheme along with its security levels.
Permissions required:
manage:jira-project
read:issue-security-level:jira
, read:issue-security-scheme:jira
Connect app scope required: ADMIN
integer
RequiredReturned if the request is successful.
Details about a security scheme.
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/issuesecurityschemes/{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
14
15
{
"defaultSecurityLevelId": 10021,
"description": "Description for the default issue security scheme",
"id": 10000,
"levels": [
{
"description": "Only the reporter and internal staff can see this issue.",
"id": "10021",
"name": "Reporter Only",
"self": "https://your-domain.atlassian.net/rest/api/3/securitylevel/10021"
}
],
"name": "Default Issue Security Scheme",
"self": "https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000"
}
Updates the issue security scheme.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
string
Requiredstring
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"description": "My issue security scheme description",
"name": "My issue security scheme name"
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/{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());
Deletes an issue security scheme.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
string
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/issuesecurityschemes/{schemeId}`, {
method: 'DELETE',
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
string
Requiredarray<SecuritySchemeLevelBean>
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
25
26
27
28
29
30
31
32
33
34
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"levels": [
{
"description": "First Level Description",
"isDefault": true,
"members": [
{
"type": "reporter"
},
{
"parameter": "jira-administrators",
"type": "group"
}
],
"name": "First Level"
}
]
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/{schemeId}/level`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Updates the issue security level.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
string
Requiredstring
Requiredstring
string
any
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"description": "New level description",
"name": "New level name"
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}`, {
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 an issue security level.
This operation is asynchronous. Follow the location
link in the response to determine the status of the task and use Get task to obtain subsequent updates.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
string
Requiredstring
Requiredstring
Returned if the request is successful.
Details about a task.
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/issuesecurityschemes/{schemeId}/level/{levelId}`, {
method: 'DELETE'
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.text());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"description": "<string>",
"elapsedRuntime": 48,
"finished": 49,
"id": "<string>",
"lastUpdate": 62,
"message": "<string>",
"progress": 51,
"self": "<string>",
"started": 48,
"status": "ENQUEUED",
"submitted": 50,
"submittedBy": 42
}
Adds members to the issue security level. You can add up to 100 members per request.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
string
Requiredstring
Requiredarray<SecuritySchemeLevelMemberBean>
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
25
26
27
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"members": [
{
"type": "reporter"
},
{
"parameter": "jira-administrators",
"type": "group"
}
]
}`;
const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}/member`, {
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 an issue security level member from an issue security scheme.
Permissions required: Administer Jira global permission.
manage:jira-configuration
Connect app scope required: ADMIN
string
Requiredstring
Requiredstring
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/issuesecurityschemes/{schemeId}/level/{levelId}/member/{memberId}`, {
method: 'DELETE',
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Rate this page: