Interface PermissionSchemeService
- All Known Implementing Classes:
DefaultPermissionSchemeService
-
Method Summary
Modifier and TypeMethodDescriptionassignPermissionSchemeToProject(ApplicationUser user, Long schemeId, Long projectId) Sets the specified permission scheme in the given project.createPermissionScheme(ApplicationUser user, PermissionSchemeInput permissionScheme) Creates a new permission scheme.deletePermissionScheme(ApplicationUser user, Long id) Deletes a permission scheme.getPermissionScheme(ApplicationUser user, Long id) Returns a permission scheme with the specified id.ServiceOutcome<? extends List<PermissionScheme>> Returns all permission schemes sorted alphabetically by name.getSchemeAssignedToProject(ApplicationUser user, Long projectId) Returns a permission scheme assigned to the specified project.updatePermissionScheme(ApplicationUser user, Long id, PermissionSchemeInput permissionScheme) Updates a permission scheme identified by the given id.
-
Method Details
-
getPermissionSchemes
ServiceOutcome<? extends List<PermissionScheme>> getPermissionSchemes(@Nullable ApplicationUser user) Returns all permission schemes sorted alphabetically by name.Only schemes the user has access to will be returned. That means all the schemes if the user is a JIRA administrator, or the schemes assigned to projects the user administers.
- Parameters:
user- user that performs the operation- Returns:
- A service outcome containing an immutable list of permission schemes or an error collection if something went wrong.
-
getPermissionScheme
Returns a permission scheme with the specified id.The user needs to have access to the permission scheme. That means the user needs to be a JIRA administrator or administer a project which has the scheme assigned.
- Parameters:
user- user that performs the operationid- identifier of the permission scheme- Returns:
- A service outcome containing the permission scheme or an error collection if something went wrong.
-
createPermissionScheme
ServiceOutcome<PermissionScheme> createPermissionScheme(@Nullable ApplicationUser user, PermissionSchemeInput permissionScheme) Creates a new permission scheme. Permission scheme entities will also be created if provided.The permission scheme is validated thoroughly, e.g. if there is a permission for a group, then the group must exist, ditto for project roles, users, custom fields etc. Custom fields must be of proper types.
Note that permission scheme names must be unique.
- Parameters:
user- user that performs the operation. The user needs to be a JIRA administrator.permissionScheme- permission scheme to create- Returns:
- A service outcome containing the created permission scheme or an error collection if something went wrong.
-
updatePermissionScheme
ServiceOutcome<PermissionScheme> updatePermissionScheme(@Nullable ApplicationUser user, Long id, PermissionSchemeInput permissionScheme) Updates a permission scheme identified by the given id. Simple fields like name and description will be updated as well as permission scheme entities. After the update, the stored permission scheme will be exactly the same as the argument.Validation is the same as in the
createPermissionScheme(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.permission.PermissionSchemeInput)method.- Parameters:
user- user that performs the operation. The user needs to be a JIRA administrator.id- id of the scheme to be updatedpermissionScheme- new data of the permission scheme- Returns:
- A service outcome containing the updated permission scheme or an error collection if something went wrong.
-
deletePermissionScheme
Deletes a permission scheme.- Parameters:
user- user that performs the operation. The user needs to be a JIRA administrator.id- identifier of the permission scheme to be deleted- Returns:
- A service result marked as valid if successful, error collection otherwise
-
assignPermissionSchemeToProject
ServiceResult assignPermissionSchemeToProject(@Nullable ApplicationUser user, Long schemeId, Long projectId) Sets the specified permission scheme in the given project.- Parameters:
user- user that performs the operation. The user needs to be a JIRA administrator.schemeId- scheme to assign to the projectprojectId- project to assign the scheme to- Returns:
- service result marked as valid if successful, error collection otherwise
-
getSchemeAssignedToProject
ServiceOutcome<PermissionScheme> getSchemeAssignedToProject(@Nullable ApplicationUser user, Long projectId) Returns a permission scheme assigned to the specified project.If there is no scheme explicitly assigned, the default scheme is returned.
- Parameters:
user- user that performs the operation. The user needs a permission to administer the project.projectId- identifier of the project- Returns:
- A service outcome containing the permission scheme or an error collection if something went wrong.
-