Jira project settings generating incorrect URLs for users without Browse Projects

Hi,

We’ve noticed that the URL being generated by Jira in the project settings nav is missing certain query parameters when the user viewing it is missing the Browse Projects permission.

The users have Administer Projects and can seemingly view all other items in the nav bar, but clicking on our plugins nav item presents an endless spinner to the user.

Our jiraProjectAdminTabPanels is defined as:

    "jiraProjectAdminTabPanels": [
      {
        "location": "projectgroup2",
        "key": "project-forms",
        "weight": 200,
        "url": "/project/{project.key}/project-forms?projectEnabledExists={condition.entity_property_exists(entity=project,propertyKey=proforma,objectName=enabled)}&projectEnabled={condition.entity_property_equal_to(entity=project,propertyKey=proforma,objectName=enabled,value=true)}&defaultEnabledExists={condition.entity_property_exists(entity=addon,propertyKey=proforma.configuration.default,objectName=enabled)}&defaultEnabled={condition.entity_property_equal_to(entity=addon,propertyKey=proforma.configuration.default,objectName=enabled,value=true)}",
        "name": {
          "value": "Forms"
        }
      }
    ]

When viewing the nav as a user with Browse Projects the URL is:

/plugins/servlet/ac/com.thinktilt.proforma.add-on/project-forms?project.key=ANSDP&project.id=10075&servicedesk.serviceDeskId=60

When viewing the nav as a user without Browse Projects the URL is:

/plugins/servlet/ac/com.thinktilt.proforma.add-on/project-forms?servicedesk.serviceDeskId=60

Note that it is missing the project.key and project.id parameters. When clicking this URL a spinner is displayed to the user until a generic “Something’s gone wrong” error is displayed.


As an aside this is impacting the Project automation nav link too in service desk projects.

When a user with Browse Projects view it the URL is:

/plugins/servlet/ac/com.codebarrel.addons.automation/cb-automation-project-config?project.key=ANSDP&project.id=10075&servicedesk.serviceDeskId=60

But when a user without Browse Projects view it the URL is:

/plugins/servlet/ac/com.codebarrel.addons.automation/cb-automation-project-config?servicedesk.serviceDeskId=60

Again the project.key and project.id are missing and the user sees a spinner.


I don’t recall hitting this problem before, but may have just never tried with this combination of settings. Is there any known issues on this?

This recent thread seems kind of related, but not exactly: Project.key is null randomly


Is anybody experiencing a similar issue? Any known workarounds?

2 Likes

Hi @davidm,

This seems to be permission related which on the surface seems different to the issue reported in Project.key is null randomly and ACJIRA-2221. I’ll try to enlist some help.

Regards,
Dugald

3 Likes

Hi @dmorrow,

I believe I’ve reported this issue at DEVHELP on 2020-04-11T00:00:00Z

Here are some details:

  • The same symptoms happen to me consistently since then.
  • Values are missing from AP.context too.
  • Hacking via top navigation would have worked if not for sandboxing.
  • All project settings APIs work fine if your app can know the ID somehow.
  • It was reported to me by users who use my app on many projects sometimes at a sitting.
  • It also happened to other users who didn’t report.
  • The agent at DEVHELP approved she reproduced the issue.
  • She asked if this was a behavior change, but I couldn’t say back then.
  • The ticket was actually deleted w/o any notice since, but I’ve got some emails.
  • I also have a reduced test case app I can share a link to.

I hope this can help push the issue forward :pray:
If I can supply any other information that might help, please LMK.

Hi @davidm,
I have reproduced the problem with missing context parameters, and opened ticket: https://ecosystem.atlassian.net/browse/ACJIRA-2247.

2 Likes