I am experimenting with the new JQL functions regarding searching via issueLinkType (link). The problem I have come across is a bit tricky and I do not know if it can be solved without using additional scripts or JQL functions.
Lets say I have issues A, B and C.
A - relates to -> B B - blocks -> C
So when I am in B, the Issue Links window displays 2 links, in A it only displays one, which is all fine.
But lets I would only like to query issues that are blocked by A (the link is A - blocks -> X).
So I have two JQL functions combined into one query:
issue in linkedIssues(A) AND issueLinkType = "blocks"
Now based on the links I defined earlier, I would expect the result to be empty - there is no issue that is blocked by A. But, sadly, it does not really work like that and the result of that query is B. It is caused by how the issueLinkType function works - it simply goes through the list of issue links on the issue and if there is one of the given type (“blocks” here), it returns the issue, it doesn’t really care of what is it linked to. So for B in this case, both conditions are met - it is linked to A AND it has the issue link “blocks” somewhere in its linked issues list.
I was pretty excited about the new JQL functions because they seemed to be exactly what I needed, but now it seems I will have to write my own anyway - or did I miss some other functions that would solve this problem?