Sprints only show up when Hide Unrelated Sprints is not checked in Jira Velocity Chart
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Some completed Sprints may be accessible through Agile reports but only show up in the Velocity Chart when the option Hide Unrelated Sprints is not selected.
We have this other KB article explaining How the Hide unrelated sprints feature works on a Velocity Chart in Jira.
Environment
All versions of Jira Software up to 8.22.x that the Velocity Chart is available.
Diagnosis
Some Sprints are available through other Agile reports, but they only show up in the Velocity Chart when the option Hide Unrelated Sprints is not selected.
Cause
The Velocity Chart only shows the Sprints that were created through that same Board (the Board you're browsing when you navigated to the Velocity Chart):

In the example above, we're browsing Board "Scrum Board n. 1," and it'll only show the Sprints created when browsing through that same board (if "Hide unrelated sprints" is toggled).
Confirming from which Boards the Sprints are
Execute the below query on Jira's DB to find out from which boards the affected/missing Sprints are:
1
2
3
4
5
select board."ID" as "Actual Board Id", board."NAME" as "Actual Board Name", sprint."RAPID_VIEW_ID" as "Sprint Original Board Id", sprint."NAME" as "Sprint Name", sprint."ID" as "Sprint Id"
from "AO_60DB71_SPRINT" sprint
left join "AO_60DB71_RAPIDVIEW" board on board."ID" = sprint."RAPID_VIEW_ID"
where lower(sprint."NAME") like lower('%replace with full or partial Sprint name here%')
order by sprint."NAME";
Replace the text in line 4 with the full or partial Sprint name.
The output should be similar to:
1
2
3
4
5
6
7
8
Actual Board Id | Actual Board Name | Sprint Original Board Id | Sprint Name | Sprint Id
-----------------+-------------------+--------------------------+-------------------+-----------
3 | SCRUM board | 3 | SCRUM Sprint 1 | 1
3 | SCRUM board | 3 | SCRUM Sprint 10 | 10
3 | SCRUM board | 3 | SCRUM Sprint 11 | 11
3 | SCRUM board | 3 | SCRUM Sprint 12 | 12
3 | SCRUM board | 3 | SCRUM Sprint 13 | 13
3 | SCRUM board | 3 | SCRUM Sprint 14.1 | 14
We're tracking the improvement to make this info available in Jira under: JSWSERVER-13265 - Provide UI method to identify origin board for a sprint.
a) Different Board
If the "Actual Board Name" from the previous query is not the one showing up on the Velocity Chart (ref. the screenshot above), you have to navigate to the "Actual Board" that came up on the query result. Accessing the Velocity Chart from there should show you the missing Sprints even with "Hide unrelated sprints" toggled.
b) Missing Board
If the columns "Actual Board ID" and "Actual Board Name" returned empty, it means the Sprints were created through the "Sprint Original Board ID," and those Boards were deleted.
This issue was tracked under: JSWSERVER-11263 - After a Board Is Deleted, Related Sprints Remain Active.
Solution
a) Different Board
If the Sprints have a different "Origin Board" than the one showing up on the Velocity Chart screen, you may either uncheck the "Hide unrelated sprints" or access the Chart through the origin Boards for those Sprints.
Alternatively, if you conclude the Sprints were created through an undesired Board, you may fix the Sprints through a DB update:
1
update "AO_60DB71_SPRINT" set "RAPID_VIEW_ID" = 9999 where "ID" in (0000, 0000, 0000);
Replace 9999
by the desired Board ID and 000
by the Sprint IDs you want to move to the new Board.
To refresh the Sprint caches in Jira, simply create, remove, or edit a Sprint through the UI. You may edit a Sprint Goal then revert the change, even. This will flush the caches on all Jira nodes (regardless of the node you perform the edition). Another way to flush the caches is to restart each node at a time.
b) Missing Board
If the "Actual Board" columns are empty, you may update the "orphaned" Sprints to include them in another — existing — Board.
The DB update command is the same as above:
1
update "AO_60DB71_SPRINT" set "RAPID_VIEW_ID" = 9999 where "ID" in (0000, 0000, 0000);
Replace 9999
by the desired Board ID and 000
by the Sprint IDs you want to move to the new Board.
To refresh the Sprint caches in Jira, simply create, remove, or edit a Sprint through the UI. You may edit a Sprint Goal then revert the change, even. This will flush the caches on all Jira nodes (regardless of the node you perform the edition). Another way to flush the caches is to restart each node at a time.
Was this helpful?