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