Validation on Linked Issue Bug
Hi, I run JIRA v6.4.3 with JIRA Workflow Toolbox v2.1.33.
In my instance, I have 2 projects that share the same workflow, the same screen schemes, field schemes, permission schemes... almost everything is exactly the same.
I have a transition (Duplicate) which enforces the creation of a link of type duplicates from the transitioning issue to another one (chosen from the dedicated combobox). I created the transition with a Validation on Linked Issue (see attached).
In one project, it works like a charm. In the other, it throws the Message to show when validation fails every time (without a stacktrace to show for it) and won't conclude the transition.
Any help would be greatly appreciated.
Comments (12)
-
repo owner -
reporter Hi, and thanks for your quick answer.
Checking the Allow unselected issue link types does indeed resolve the issue, the only problem is, I don't want to allow users to choose another type of link. Since I can't remove values from the Linked Issues field set in the transition screen, allowing only duplicates link seems to be the only way to do so.
Also, the configuration I sent you works fine on another project (sharing the same workflow, permissions...).
So yes, it works, but it also opens a gateway to unwanted behavior (setting any link type).
PS: I implemented your first suggestion, it doesn't resolve the bug but it should indeed be 1 and not 0. Thanks for the pointer !
-
repo owner Hi Jeremie,
"Validator on linked issues" checks all the issue links of the issue. If you want to check only those issue links added in transition screen, use "Boolean validator with math, date-time or text-string terms" with the following configuration:
Boolean expression used is:
count(transitionLinkedIssues("")) > 1 AND count(filterByProject(filterByIssueType(transitionLinkedIssues("duplicates"), "Improvement, Bug, Change Request, Feature, Story, Epic"), %{00018})) = count(transitionLinkedIssues(""))
Note that %{00018} is field code for "Project key".
Regards,
Fidel
-
reporter Thanks, it seems to work fine.
Since I allowed unselected issue types in the previous configuration, shouldn't it be ?
count(transitionLinkedIssues("")) > 1 AND count(filterByProject(transitionLinkedIssues("duplicates"), %{00018})) = count(transitionLinkedIssues(""))
-
repo owner The expression you propose is satisfied by a link "duplicates" with any issue type, even in different from "Improvement", "Bug", "Change Request", "Feature", "Story" and "Epic". That is not equivalent to your original configuration of "Validation on linked issues".
An expression exactly equivalent is:
count(transitionLinkedIssues("")) = count(transitionLinkedIssues("duplicates")) AND count(filterByProject(filterByIssueType(transitionLinkedIssues("duplicates"), "Improvement, Bug, Change Request, Feature, Story, Epic"), %{00018})) > 1
-
reporter even though I had allow unselected issue types checked in the previous configuration ?
-
repo owner Yes. Your previous configuration requires at least one issue link "duplicates" with an issue type "Improvement", "Bug", "Change Request", "Feature", "Story" or "Epic", but you also allow issue link "duplicates" with other issue types. Issue link "duplicates with other issue types are no counted. On the other hand, issue link types different from "duplicates" are not allowed.
Anyway, I think that perhaps you also want to allow other issue link types. In that case you should use:
count(filterByProject(filterByIssueType(transitionLinkedIssues("duplicates"), "Improvement, Bug, Change Request, Feature, Story, Epic"), %{00018})) > 1
-
reporter thanks you very much for your assistance !!
-
reporter Old configuration aside, I just want a validation on this transition that will validate:
1 or more links of type duplicates between issues belonging to the same project are created (regardless of the linked issue type).
This seem to work:
count(transitionLinkedIssues("")) = count(transitionLinkedIssues("duplicates")) AND count(transitionLinkedIssues("")) = count(filterByProject(transitionLinkedIssues(""), %{00018})) AND count(transitionLinkedIssues("")) >= 1
Would you mind reviewing this expression ? Thank you !
-
repo owner The expression works, but this one is more efficient, taken into account that in transition screen you can only use 1 issue link type:
count(transitionLinkedIssues("")) > 0 AND count(transitionLinkedIssues("")) = count(filterByProject(transitionLinkedIssues("duplicates"), %{00018}))
-
reporter Thanks again. It's always reassuring to know that support is present and active. It shows great involvement and dedication so Thumbs Up and keep up the Great work !
-
repo owner - changed status to resolved
I close the issue. Please, reopen it you need more support on the subject.
- Log in to comment
He Jeremie,
Two observations about your configuration:
Please, let me know if those changes solve your problem.
Regards,
Fidel