There are three JQL functions supported by the add-on:
LlinksHierarchyFilter
LinksHierarchyVersion
Note
TheJQL functions are continuously optimized to obtain the best performance in terms of response times.
The runtime of the jqls depends on 3 factors:
The number of issues for which the hierarchy must be built.
The depth of the hierarchy to be obtained.
The number of links that have the issues present in the hierarchy.
You should keep in mind that the greater these factors are, the greater the amount of information that will have to be analyzed, especially with the linksHierarchyFilter and linksHierarchyVersion.
For this reason, we recommend using the jql functions always applying filters(exclusions) to limit the amount of information to analyze and improve response times.
We have mentioned the 3 factors that affect the response time of JQL functions.
These factors increase significantly when JQL functions are used recursively. We do not recommend its use.
Take care with recursive searches in your JQL, as they can cause issues with your Jira instance, slowing it down.
All of them work in the same way:
The add-on gets the root elements: In the case of the linksHierarchyIssue the root is a single issue, while in the other cases, the add-on will run the provided filter or will get all the issues related to a given project version
For each root issue (1), the add-on will build the hierarchy structure in the memory and it will apply the JQL optional parameters to prune the filtered nodes
For each hierarchical structure (2), the add-on will get all the distinct issues and they will be displayed on the JIRA Search page.
All the functions require a mandatory parameter (an issue, filter or version) and support the same optional parameters.
Run each JQL function without any parameter to see a tip about how to use it:
The results of the JQL function are displayed in a column to the right with a synchronized view of the issue details beside right:
For example:
issue in linksHierarchyIssue("TALH-13")
By default, the JQL function shows the first depth only. You can filter the results by setting some optional parameters:
issue in linksHierarchyIssue("TALH-12","","","Sub-task")
NOTE: Use a blank parameter "" to set the default value
Understanding unexpected results:
like in the example above, you might want to filter (exclude) by issue type = Story… and you might get much less issues than you expected.
This is because the filters are applied internally. In this example, the issue-9 has the following children:
DEMO-5 (Story) and DEMO-10 (New feature). When the JQL function builds the tree, it founds the DEMO-5 and it will stop to load that branch because the DEMO-5 issue type (Story) has been included in the filter. Therefore the DEMO-1 and the DEMO-6 which are children of the DEMO-5 issue will be ignored as well as their children, and so on.