public class

WorkflowBasedPermissionSchemeManager

extends DefaultPermissionSchemeManager
implements Startable
java.lang.Object
   ↳ com.atlassian.jira.scheme.AbstractSchemeManager
     ↳ com.atlassian.jira.permission.DefaultPermissionSchemeManager
       ↳ com.atlassian.jira.permission.WorkflowBasedPermissionSchemeManager

Class Overview

Custom permission scheme manager that allows the list of assignable users to be restricted by workflow state. In jira-workflow.xml, every step can have a meta attribute stating which groups are assignable:

<step id="23" name="Pending Biz User Approval"> .... <meta name="jira.permission.assignable.group">acme-bizusers</meta>

When getUsers(Long, PermissionContext) is called to discover assignable users, this permission scheme manager first does the regular "Assignable" check, and then filters returned users for membership of the 'jira.permission.assignable.group' (in this example). If jira.permission.assignable.* isn't specified for a step, all permission-derived users are returned.

Summary

[Expand]
Inherited Constants
From interface com.atlassian.jira.scheme.SchemeManager
[Expand]
Inherited Fields
From class com.atlassian.jira.scheme.AbstractSchemeManager
Public Constructors
WorkflowBasedPermissionSchemeManager(ProjectManager projectManager, PermissionTypeManager permissionTypeManager, WorkflowPermissionFactory workflowPermissionFactory, PermissionContextFactory permissionContextFactory, OfBizDelegator ofBizDelegator, SchemeFactory schemeFactory, EventPublisher eventPublisher, NodeAssociationStore nodeAssociationStore, GroupManager groupManager, CacheManager cacheManager)
Public Methods
Collection<ApplicationUser> getUsers(ProjectPermissionKey permissionKey, PermissionContext ctx)
Collection<ApplicationUser> getUsers(Long permissionId, PermissionContext ctx)
@EventListener void onClearCache(ClearCacheEvent event)
void start()
Registers this CachingFieldConfigContextPersister's cache in the JIRA instrumentation.
[Expand]
Inherited Methods
From class com.atlassian.jira.permission.DefaultPermissionSchemeManager
From class com.atlassian.jira.scheme.AbstractSchemeManager
From class java.lang.Object
From interface com.atlassian.jira.config.group.GroupConfigurable
From interface com.atlassian.jira.extension.Startable
From interface com.atlassian.jira.permission.PermissionSchemeManager
From interface com.atlassian.jira.scheme.SchemeManager

Public Constructors

public WorkflowBasedPermissionSchemeManager (ProjectManager projectManager, PermissionTypeManager permissionTypeManager, WorkflowPermissionFactory workflowPermissionFactory, PermissionContextFactory permissionContextFactory, OfBizDelegator ofBizDelegator, SchemeFactory schemeFactory, EventPublisher eventPublisher, NodeAssociationStore nodeAssociationStore, GroupManager groupManager, CacheManager cacheManager)

Public Methods

public Collection<ApplicationUser> getUsers (ProjectPermissionKey permissionKey, PermissionContext ctx)

public Collection<ApplicationUser> getUsers (Long permissionId, PermissionContext ctx)

@EventListener public void onClearCache (ClearCacheEvent event)

public void start ()

Registers this CachingFieldConfigContextPersister's cache in the JIRA instrumentation.

Throws
Exception