Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-62591

An option provided by the function 'cascadeOption' for the field does not exist

    XMLWordPrintable

Details

    Description

      Problem

      Attempting to JQL search for cascading select values results in an error like:

      An option provided by the function 'cascadeOption' for the field 'testcascadefield' does not exist.
      
      

      Steps to Reproduce

      • Have a cascading select field (i.e. testcascadefield) with at least 2 defined contexts. Let's call them ContextA and ContextBC
        • ContextA is configured for ProjectA
        • ContextB is configured for 2 projects: ProjectB and ProjectC
      • Now configure the value options of ContextA and ContextB to have overlap
        • For example, let's say both allows for selecting the value "foobar"
      • Ensure that your account does not have "Browse" permissions to ProjectB and ProjectC
        • This is the key trigger of the bug
      • Now running the JQL:
        testcascadefield in cascadeOption("foobar")
        
        
      • We get the error:
        An option provided by the function 'cascadeOption' for the field 'testcascadefield' does not exist.
        
      • Now, if we grant the user account to either "Browse" permissions to either ProjectB or ProjectC, the error does not occur.

      So the problem occurs on 2 conditions:

      1. if there is a context containing no projects that the user account can see
        • As long as there's at least 1 project in the context viewable to the user, then the error does not occur.
      2. if there is a option in the context that is the same value as another context

      Expected Behaviour

      If an user does not have access to projects defined within a field's context, this should not affect the results for contexts that the user does have proper access to

      Actual Behaviour

      No issues are returned and the user is instead presented with an error

      Workaround

      1. Avoid using the function. "cascadeOption". So from the above example, use this instead:
        testcascadefield in ("foobar")
        
      1. Or check each context to ensure that the user has access to at least one of the projects listed
        1. Note, you can create a blank project without any issues, assign it to a restricted context of your cascading field, give all users "browse project" permissions, and cascadeOption JQL condition will work as intended after that, since all users will have access to at least 1 project in the restrictive context.
      2. Or avoid having multiple contexts with the same option values

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              dchan David Chan
              Votes:
              72 Vote for this issue
              Watchers:
              59 Start watching this issue

              Dates

                Created:
                Updated: