-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Highest
-
Component/s: Board - Sprints
-
20
-
Severity 3 - Minor
-
29
Issue Summary
When an Active sprints board contains multiple current sprints, the user's permission to close a sprint using the Complete sprint button is evaluated against all sprints on the board, not just the one that they've selected.
If the user doesn't have the required permission for any of the sprints they will see an error stating that they don't have the "Manage sprints" permission, even if they've selected a sprint from the current board and have the correct permissions for it.
This error doesn't occur if the user closes the sprint from the backlog.
Steps to Reproduce
Configuration
This requires two user accounts and two projects to replicate.
- "Non-admin user": an account that doesn't have Jira admin permissions, as Jira admins skip the 'Manage sprints' permission check
- "Admin user": An admin account that can have full access to both projects and set the permissions as required.
Two company-managed projects with their own scrum boards:
Project ABC
- Board filter as default, "project = ABC ORDER BY Rank ASC"
- In the permission scheme, ensure the non-admin user has all required permissions:
- Browse projects
- Manage sprints
- Edit issues
- Schedule issues
Project XYZ
- Board filter as "project IN (XYZ,ABC) ORDER BY Rank ASC"
- Set the project permissions/roles so that the non-admin user doesn't have the "Manage sprints" permission in this project
Steps
- Using the non-admin user account on the ABC project board, create a new sprint "ABC Sprint 1"
- Add at least one ABC issue to "ABC Sprint 1", and start the sprint (this should confirm that the account has the correct permissions for the ABC project and board to manage sprints)
- Using the admin user account:
- On the XYZ project board, create a new sprint "XYZ Sprint 1"
- Add an ABC issue to the sprint, and start it
- Confirm that the ABC project board shows both "ABC Sprint 1" and "XYZ Sprint 1", since both sprints contain ABC issues included in the board filter.
- Using the non-admin user that doesn't have permission to manage "XYZ Sprint 1":
- From the ABC board, go to the Active sprints view
- In the sprint dropdown, select "ABC Sprint 1"
- Try to use the Complete sprint button to close the sprint
Expected Results
The user should be able to close the selected sprint, as they have the required permissions for:
- All projects included in the current board filter (ABC only)
- All issues included in that sprint (only ABC issues)
- All projects included in the filter of the board where the sprint was created (also the ABC board)
Actual Results
The modal to complete the sprint doesn't appear, instead the user sees this error:
Sprint can't be completed
You don't have permission to complete this sprint. Ask your admin to grant you "Manage sprints" permission.
The browser traffic shows that permissions for all active sprints are being evaluated for the "mainCompleteSprintMetadataQuery", not just the sprint selected in the dropdown.
Removing the ABC issue from "XYZ Sprint 1" so the sprint isn't included on the ABC board will allow the non-admin user to close "ABC Sprint 1" as expected (after refreshing), with no other changes to project permissions or board filters.
Workaround
Go to the board's backlog, and use the Complete sprint button for the sprint there.
The backlog checks permissions for each sprint individually based on which button you use, and will allow you to complete the sprint.