fix: support arbitrary-depth issue hierarchy in fetchMissingAncestorIssues - #1887
Open
tstandish-tnsk wants to merge 2 commits into
Open
fix: support arbitrary-depth issue hierarchy in fetchMissingAncestorIssues#1887tstandish-tnsk wants to merge 2 commits into
tstandish-tnsk wants to merge 2 commits into
Conversation
…ssues The previous implementation made exactly two rounds of ancestor fetching (parents, then grandparents), which was designed for the standard subtask -> task -> epic chain. Projects that use deeper Jira hierarchy levels (e.g. Sub-Initiative -> Epic -> Task -> Root) exceed this limit, causing the top-level ancestor to go unresolved. When constructIssueTree then tries to attach it to its parent, the parent isn't in the combined list, so the issue is silently dropped along with its entire subtree. Replace the two-round approach with an iterative loop that keeps fetching missing ancestor keys until none remain or a depth cap of 10 is reached. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tstandish-tnsk
requested review from
Blastoplex,
amarg-at,
bwieger-atlassian-com,
cabella-dot,
ccallcottstevens,
cindy-atl,
dchiew-atl,
jwang19-atlassian,
marcomura,
matt-lassian,
mattcolman,
sdzh-atlassian and
teg-atlassian
as code owners
June 29, 2026 22:00
|
Hooray! All contributors have signed the CLA. |
Author
|
I can't share images due to potential sensitive data but I can confirm that a local patch to the vs code extension with this update shows equivalent counts and expected tasks as compared to the main JIRA Filter view, which was originally how I found this discrepancy. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
fetchMissingAncestorIssuesmade exactly two rounds of ancestor fetching — parents, then grandparents — designed for the standard subtask → task → epic chain. Projects using deeper Jira hierarchy levels (e.g. Sub-Initiative → Epic → Task → Root) exceed this limit.When
constructIssueTreethen tries to attach the unresolved top-level ancestor to its parent, the parent isn't in the combined list, so the issue is silently dropped along with its entire subtree. This means issues that match the JQL filter never appear in the tree view when "Group issues by epic" is enabled.Change
Replace the two-round approach with an iterative loop that keeps fetching missing ancestor keys until none remain, with a depth cap of 10 to prevent runaway requests.
Before:
After:
Behaviour
Rovo Dev code review: Rovo Dev couldn't review this pull request
The pull request author does not have access to Rovo Dev.