@PublicApi public interface

IssueSecuritySchemeService

com.atlassian.jira.issue.security.IssueSecuritySchemeService
Known Indirect Subclasses

@PublicApi

This interface is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

Service which can be used to access issue security functionality. Checks permissions before handing off performing the action to the correct manager. See IssueSecurityLevelManager and IssueSecuritySchemeManager.

Summary

Public Methods
ServiceOutcome<IssueSecurityLevel> getIssueSecurityLevel(ApplicationUser user, long securityLevelId)
Returns an issue security level with a given id.
ServiceOutcome<IssueSecurityLevelScheme> getIssueSecurityLevelScheme(ApplicationUser user, long schemeId)
Returns a single issue security scheme with a given id.
ServiceOutcome<IssueSecurityLevelScheme> getIssueSecurityLevelSchemeForProject(ApplicationUser user, String projectKey)
Returns a single issue security scheme for a given project.
ServiceOutcome<IssueSecurityLevelScheme> getIssueSecurityLevelSchemeForProject(ApplicationUser user, long projectId)
Returns a single issue security scheme for a given project.
ServiceOutcome<? extends Collection<IssueSecurityLevelScheme>> getIssueSecurityLevelSchemes(ApplicationUser user)
Returns all defined security level schemes.
ServiceOutcome<? extends List<IssueSecurityLevel>> getIssueSecurityLevels(ApplicationUser user, long schemeId)
Returns the list of security levels for the given issue security level scheme.
ServiceOutcome<? extends Collection<IssueSecurityLevelPermission>> getPermissionsByIssueSecurityLevel(ApplicationUser user, long securityLevelId)
Returns permissions for the given issue security level.

Public Methods

public ServiceOutcome<IssueSecurityLevel> getIssueSecurityLevel (ApplicationUser user, long securityLevelId)

Returns an issue security level with a given id.

Parameters
user user for which permission checks are performed. Only users with an admin permission can perform this action.
Returns
  • a service outcome with an issue security level or an error collection

public ServiceOutcome<IssueSecurityLevelScheme> getIssueSecurityLevelScheme (ApplicationUser user, long schemeId)

Returns a single issue security scheme with a given id.

Parameters
user user for which permission checks are performed. Permission to get the issue security scheme with a given key is granted in the following cases: 1. User has the administrator global permission. 2. The scheme is used in a project to which the user has the project administrator permission.
Returns
  • a service outcome with an IssueSecurityLevelScheme or an error collection

public ServiceOutcome<IssueSecurityLevelScheme> getIssueSecurityLevelSchemeForProject (ApplicationUser user, String projectKey)

Returns a single issue security scheme for a given project.

Parameters
user user for which permissions checks are performed. Permission to get the issue security scheme with a given key is granted in the following cases: 1. User has the administrator global permission. 2. The scheme is used in a project to which the user has the project administrator permission.
projectKey key of the project to return scheme for.
Returns
  • a service outcome with an issueSecurityLevelScheme or an error collection

public ServiceOutcome<IssueSecurityLevelScheme> getIssueSecurityLevelSchemeForProject (ApplicationUser user, long projectId)

Returns a single issue security scheme for a given project.

Parameters
user user for which permissions checks are performed. Permission to get the issue security scheme with a given key is granted in the following cases: 1. User has the administrator global permission. 2. The scheme is used in a project to which the user has the project administrator permission.
projectId id of the project to return scheme for.
Returns
  • a service outcome with an issueSecurityLevelScheme or an error collection

public ServiceOutcome<? extends Collection<IssueSecurityLevelScheme>> getIssueSecurityLevelSchemes (ApplicationUser user)

Returns all defined security level schemes.

Parameters
user user for which permission checks are performed. Only users with an admin permission can perform this action.
Returns
  • a service outcome with a collection of security level schemes or with an error collection

public ServiceOutcome<? extends List<IssueSecurityLevel>> getIssueSecurityLevels (ApplicationUser user, long schemeId)

Returns the list of security levels for the given issue security level scheme. The elements are ordered by name.

Parameters
user user for which permission checks are performed. Permission to get the issue security levels for a scheme with a given key is granted in the following cases: 1. User has the administrator global permission. 2. The scheme is used in a project to which the user has the project administrator permission.
Returns
  • a service outcome with a list of Security Levels for the given issue security level scheme, or with an error collection

public ServiceOutcome<? extends Collection<IssueSecurityLevelPermission>> getPermissionsByIssueSecurityLevel (ApplicationUser user, long securityLevelId)

Returns permissions for the given issue security level.

Parameters
user user for which permission checks are performed. Only users with an admin permission can perform this action.
Returns
  • a service outcome with a list of issue security level permissions or an error collection