Interface IssueSecuritySchemeService

All Known Implementing Classes:
IssueSecuritySchemeServiceImpl

@PublicApi public interface IssueSecuritySchemeService
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.
Since:
7.0
  • Method Details

    • getIssueSecurityLevelSchemes

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

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

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

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

      ServiceOutcome<String> assignSchemeToProject(ApplicationUser user, long projectId, Long newSchemeId, Map<Long,Long> oldToNewSecurityLevelMappings)
      Assigns a new Issue Security Scheme to a project. If there was a prior scheme in place a mapping of old to new levels should be passed.
      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 - Project to assign
      newSchemeId - Id of the new IssueSecurity Scheme
      oldToNewSecurityLevelMappings - Mapping of old to new security levels to apply to issues in the project.
      Returns:
      a service outcome with a Task progress URL.
      Since:
      v7.1.1
    • getIssueSecurityLevels

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

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

      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