Uploaded image for project: 'Jira Cloud'
  1. Jira Cloud
  2. JRACLOUD-59487

jira.permission.create.clone.denied in workflow property breaks Get create issue meta API

    XMLWordPrintable

Details

    Description

      NOTE: This bug report is for JIRA Cloud. Using JIRA Server? See the corresponding bug report.

      Summary

      When a user adds jira.permission.create.clone.denied in a workflow property, running the Get create issue meta with expand=projects.issuetypes.fields fail

      http://localhost:8080/jira/rest/api/latest/issue/createmeta?expand=projects.issuetypes.fields

      I understand that this is an incorrect usage of the property (JRA-34816), but the reason this Bug is raised is because workflow properties seems unrelated to metadata for creating issues. Adding workflow properties should not break an unrelated part of JIRA

      Steps to Reproduce

      1. Add jira.permission.create.clone.denied in a workflow property of a Status
      2. Verify that users won't be able to clone issues in that particular status
      3. Run Get create issue meta

      Expected Results

      1. The metadata should be returned normally

      Actual Results

      1. The below exception is thrown as a response
        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <status>
            <status-code>500</status-code>
            <message>Unknown type 'clone' in meta attribute 'jira.permission.create.clone.denied'. Valid permission types are defined in permission-types.xml</message>
            <stack-trace>java.lang.RuntimeException: Unknown type 'clone' in meta attribute 'jira.permission.create.clone.denied'. Valid permission types are defined in permission-types.xml
        	at com.atlassian.jira.permission.WorkflowPermissionFactory.createWorkflowPermission(WorkflowPermissionFactory.java:86)
        	at com.atlassian.jira.permission.WorkflowPermissionFactory.getWorkflowPermissions(WorkflowPermissionFactory.java:42)
        	at com.atlassian.jira.security.WorkflowBasedPermissionManager.workflowPermissionCheck(WorkflowBasedPermissionManager.java:196)
        	at com.atlassian.jira.security.WorkflowBasedPermissionManager.workflowPermissionCheck(WorkflowBasedPermissionManager.java:172)
        	at com.atlassian.jira.security.WorkflowBasedPermissionManager.workflowPermissionCheck(WorkflowBasedPermissionManager.java:137)
        	at com.atlassian.jira.security.WorkflowBasedPermissionManager.hasPermission(WorkflowBasedPermissionManager.java:83)
        	at com.atlassian.jira.security.DefaultPermissionManager.hasPermission(DefaultPermissionManager.java:103)
        	at com.atlassian.jira.security.WorkflowBasedPermissionManager.hasPermission(WorkflowBasedPermissionManager.java:76)
        	at com.atlassian.jira.security.ApplicationRequiredPermissionManager.lambda$hasPermission$235(ApplicationRequiredPermissionManager.java:71)
        	at com.atlassian.jira.security.ApplicationRequiredPermissionManager$$Lambda$365/587147594.getAsBoolean(Unknown Source)
        	at com.atlassian.jira.security.ApplicationRequiredPermissionManager.checkUserHasApplicationOrFalse(ApplicationRequiredPermissionManager.java:177)
        	at com.atlassian.jira.security.ApplicationRequiredPermissionManager.hasPermission(ApplicationRequiredPermissionManager.java:71)
        	at sun.reflect.GeneratedMethodAccessor392.invoke(Unknown Source)
      2. Results are returned when expand=projects.issuetypes.fields is removed, but this doesn't return the required data

      Workaround

      No known workaround

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ywoo Yit Wei
              Votes:
              15 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: