jira设置问题关闭之后不能继续编辑和添加备注
设置工作流中的Closed步骤的工作流属性值,增加两个:
jira.permission.comment.user:(空)
jira.issue.editable:false
Closed这个步骤之后,可添加备注的用户为空,可编辑属性为false。
参考文章:
com.atlassian.jira.security
类WorkflowBasedPermissionManager
- java.lang.Object继承
 - 
- com.atlassian.jira.security.DefaultPermissionManager
 - 
- com.atlassian.jira.security.WorkflowBasedPermissionManager
 
 
 
- 所有已实现的接口:
 - PermissionManager
 
公共类WorkflowBasedPermissionManager 扩展了DefaultPermissionManager
权限管理器,允许在工作流XML描述符中为每个工作流步骤进一步限制工作流权限。例如,如果工作流包含一个步骤:<step id =“1”name =“Open”> <meta name =“jira.status.id”> 1 </ meta> <meta name =“jira.permission.comment.group”> acme-bizusers </ meta> <meta name =“jira.permission.comment.user”> qa </ meta> <meta name =“jira.permission.edit.group.1”> jira-developers </ meta> <meta name =“jira.permission.edit.group.2”> jira-editors </ meta> <meta name =“jira.permission.edit.projectrole”> 10001 </ meta>
然后只有acme-bizusers组和用户'qa'的成员才能评论公开问题,只有'jira-developers'和'jira-editors'组成员或项目角色成员id为'10001'将能够编辑问题。当然,假设这些用户已经在权限方案中拥有相关权限。元属性还可以修改子任务的权限。例如,如果'Bug'工作流程的Open步骤具有:
<meta name =“jira.permission.subtasks.edit.group”> jira-qa </ meta>然后,当他们的父母处于开放状态时,'jira-qa'成员只能编辑Bugs的子任务。格式为'jira.permission。[subtasks。] {permission}。{type} [。suffix]',其中:
- {permission}是指定的短名称 
Permissions - {type}是授予或拒绝拒绝权限的权限类型(组,用户,受让人,记者,潜在客户,用户CF,项目)。
 - 子任务。,如果指定,则表示该权限适用于此步骤中的问题子任务。
重要说明:工作流权限只能限制 权限方案中设置的权限,而不能授予权限。
 
- 
- 
构造函数摘要
构造函数 构造函数和描述 WorkflowBasedPermissionManager(WorkflowPermissionFactory workflowPermissionFactory, PermissionContextFactory permissionContextFactory, ProjectPermissionTypesManager projectPermissionTypesManager,ProjectPermissionOverrideDescriptorCache projectPermissionOverrideDescriptorCache) 
- 
方法摘要
所有方法实例方法具体方法 修饰符和类型 方法和描述 booleanhasPermission(int permissionsId, Issue issue, ApplicationUser user)检查此用户是否有权查看指定的问题。booleanhasPermission(int permissionsId, Project project, ApplicationUser user)检查指定的用户是否在指定项目的上下文中具有指定的权限。booleanhasPermission(int permissionsId, Project project, ApplicationUser user, boolean issueCreation)检查指定的用户是否在指定项目的上下文中具有指定的权限。booleanhasPermission(ProjectPermissionKey permissionsKey, Issue issue, ApplicationUser user)检查此用户是否有权查看指定的问题。booleanhasPermission(ProjectPermissionKey permissionKey, Issue issue, ApplicationUser user, com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)在给定的工作流转换生效后,检查此用户是否具有指定问题的给定权限。booleanhasPermission(ProjectPermissionKey permissionKey, Issue issue, ApplicationUser user, Status status)如果问题处于给定状态,请检查此用户是否具有指定问题的给定权限。booleanhasPermission(ProjectPermissionKey permissionsKey, Project project, ApplicationUser user)检查指定的用户是否在指定项目的上下文中具有指定的权限。booleanhasPermission(ProjectPermissionKey permissionsKey, Project project, ApplicationUser user, boolean issueCreation)检查指定的用户是否在指定项目的上下文中具有指定的权限。- 
从类com.atlassian.jira.security继承的方法。DefaultPermissionManager
flushCache, getAllGroups, getAllProjectPermissions, getArchivedProjectObjects, getArchivedProjects, getProjectObjects, getProjectPermission, getProjectPermissions, getProjects, getProjects, getProjects, getProjects, hasPermission, hasProjects, hasProjects,hasProjectWidePermission, isGlobalPermission, removeGroupPermissions, removeUserPermissions 
- 
从类java.lang继承的方法。宾语
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
从com.atlassian.jira.security接口继承的方法。PermissionManager
hasPublicAccess 
 - 
 
 - 
 
- 
- 
构造函数详细信息
- 
WorkflowBasedPermissionManager
public WorkflowBasedPermissionManager(WorkflowPermissionFactory workflowPermissionFactory, PermissionContextFactory permissionContextFactory, ProjectPermissionTypesManager projectPermissionTypesManager, ProjectPermissionOverrideDescriptorCache projectPermissionOverrideDescriptorCache)
 
 - 
 
- 
方法细节
- 
调用hasPermission
public boolean hasPermission(int permissionsId, Issue issue, ApplicationUser user)
从界面复制的描述:PermissionManager检查此用户是否有权查看指定的问题。请注意,如果问题的通用值为null,则假定当前正在创建问题,因此权限检查调用将延迟到问题的项目对象,并将issueCreation标志设置为true。有关详细信息,请参阅JRA-14788。
- 具体说明:
 hasPermission在界面中PermissionManager- 覆盖:
 hasPermission在班上DefaultPermissionManager- 参数:
 permissionsId- 不是全球许可issue- 问题(不能为空)user- 用户对象,如果匿名访问JIRA,则可能为null- 返回:
 - 如果有足够权限访问所提供的实体,则为True
 
 
- 
调用hasPermission
public boolean hasPermission(@Nonnull ProjectPermissionKey permissionsKey, @ Nonull Issue issue, ApplicationUser user)
从界面复制的描述:PermissionManager检查此用户是否有权查看指定的问题。请注意,如果问题的通用值为null,则假定当前正在创建问题,因此权限检查调用将延迟到问题的项目对象,并将issueCreation标志设置为true。有关详细信息,请参阅JRA-14788。
- 具体说明:
 hasPermission在界面中PermissionManager- 覆盖:
 hasPermission在班上DefaultPermissionManager- 参数:
 permissionsKey- 不是全局权限密钥issue- 问题(不能为空)user- 用户对象,如果匿名访问JIRA,则可能为null- 返回:
 - 如果有足够权限访问所提供的实体,则为True
 
 
- 
调用hasPermission
public boolean hasPermission(@Nonnull ProjectPermissionKey permissionKey, @ Nonull Issue issue, @ Nullable ApplicationUser user, @ Nullable com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
从界面复制的描述:PermissionManager在给定的工作流转换生效后,检查此用户是否具有指定问题的给定权限。- 具体说明:
 hasPermission在界面中PermissionManager- 覆盖:
 hasPermission在班上DefaultPermissionManager- 参数:
 permissionKey- 项目权限密钥。issue- 问题(不能为空)user- 用户对象,如果匿名访问JIRA,则可能为nullactionDescriptor- 表示当前的工作流程转换- 返回:
 - 如果有足够权限访问所提供的实体,则为True
 
 
- 
调用hasPermission
public boolean hasPermission(@Nonnull ProjectPermissionKey permissionKey, @ Nonull Issue issue, @ Nullable ApplicationUser user, @ Nonull Status status)
从界面复制的描述:PermissionManager如果问题处于给定状态,请检查此用户是否具有指定问题的给定权限。此方法在工作流转换期间非常有用,可以检查权限将处于新状态,或者(在“问题”对象中更新状态之后)以检查旧状态中的权限。
- 具体说明:
 hasPermission在界面中PermissionManager- 覆盖:
 hasPermission在班上DefaultPermissionManager- 参数:
 permissionKey- 项目权限密钥。issue- 问题(不能为空)user- 用户对象,如果匿名访问JIRA,则可能为nullstatus- 表示我们正在检查权限的状态- 返回:
 - 如果有足够权限访问所提供的实体,则为True
 
 
- 
调用hasPermission
public boolean hasPermission(int permissionsId, Project project, ApplicationUser user)
从界面复制的描述:PermissionManager检查指定的用户是否在指定项目的上下文中具有指定的权限。- 具体说明:
 hasPermission在界面中PermissionManager- 覆盖:
 hasPermission在班上DefaultPermissionManager- 参数:
 permissionsId- 非全局权限,即通过项目上下文授予的权限project- 作为权限检查上下文的项目。user- 执行权限检查的人员- 返回:
 - 如果用户在提供的项目的上下文中具有指定的权限,则为true
 
 
- 
调用hasPermission
public boolean hasPermission(@Nonnull ProjectPermissionKey permissionsKey, @ Nonull Project project, @ Nullable ApplicationUser user)
从界面复制的描述:PermissionManager检查指定的用户是否在指定项目的上下文中具有指定的权限。- 具体说明:
 hasPermission在界面中PermissionManager- 覆盖:
 hasPermission在班上DefaultPermissionManager- 参数:
 permissionsKey- 非全局权限,即通过项目上下文授予的权限project- 作为权限检查上下文的项目。user- 执行权限检查的人员- 返回:
 - 如果用户在提供的项目的上下文中具有指定的权限,则为true
 - 也可以看看:
 PermissionManager.hasProjectWidePermission(ProjectPermissionKey, Project, ApplicationUser)
 
- 
调用hasPermission
public boolean hasPermission(int permissionsId, Project project, ApplicationUser user, 布尔问题创建)
从界面复制的描述:PermissionManager检查指定的用户是否在指定项目的上下文中具有指定的权限。- 具体说明:
 hasPermission在界面中PermissionManager- 覆盖:
 hasPermission在班上DefaultPermissionManager- 参数:
 permissionsId- 非全局权限,即通过项目上下文授予的权限project- 作为权限检查上下文的项目。user- 执行权限检查的人员issueCreation- 在创建问题期间是否正在检查此权限- 返回:
 - 如果用户在提供的项目的上下文中具有指定的权限,则为true
 
 
- 
调用hasPermission
public boolean hasPermission(@Nonnull ProjectPermissionKey permissionsKey, @ Nonull Project project, ApplicationUser user, 布尔问题创建)
从界面复制的描述:PermissionManager检查指定的用户是否在指定项目的上下文中具有指定的权限。- 具体说明:
 hasPermission在界面中PermissionManager- 覆盖:
 hasPermission在班上DefaultPermissionManager- 参数:
 permissionsKey- 非全局权限,即通过项目上下文授予的权限project- 作为权限检查上下文的项目。user- 执行权限检查的人员issueCreation- 在创建问题期间是否正在检查此权限- 返回:
 - 如果用户在提供的项目的上下文中具有指定的权限,则为true
 
 
 - 
 
 - 
 
                    
                
                
            
        
浙公网安备 33010602011771号