How to prevent tickets from transitioning if they are blocked by other tickets
Asked by Mathias Minsel:

Hi dear community,  

Do you have a suggestion how I can prevent tickets from transitioning if they are blocked by other tickets. That means if ticket A is e.g. in the status acceptance and is blocked by ticket B (linked in the ticket), that is in status development I want to restrict the next transition for ticket A to waiting for release until ticket B is in the status waiting for release.  

I like to do this without additional plugins like ScriptRunner.  

My current understanding is, that I can't reach my goal without an additional plugin.  

The only option I have would be to write a comment with an automation about the blocked issue.  

Thanks a lot for your help!


Answers:
author: Franti?ek ?pa?ek _MoroSystems_
body: Hi, sadly such thing can't be done without additional plugins.

Workflows only have limited possibilities for conditions and validators and advanced possibilities like automations only are fired AFTER the transition is done.

That being said - it can be workarounded by automations and existing validators/conditions, but it will a bit clunky and will probably never work for 100% cases.

Basically, what is in my mind is that there will be a set of automation rules and validators. According to your example with statuses "Acceptance" and "Waiting for Release" - what you would do is create new custom field like "Ready for deployment" with options YES and NO.

When you transition issue A to "Acceptance" and there is an issue linked to this issue (issue B) which is not in correct status, you will set "Ready for deployment" in issue A to "NO". In the workflow you will then set up a condition "Value Field" for transition between "Acceptance" and "Waiting for Release". This condition will say, that it will allow this transition only if "Ready for deployment" field is set to YES. Next automation rule will help updating the field in the linked issue when the "blocked by" issue B will be moved to the "Waiting for Release" it will check all linked issues where "Ready for deployment" = NO and update it to YES.

Obviously this scenario would be that easy only if yo utake into account each issue can be blocked by only by a other single issue and you will not take into account things like new issues were linked together when the issue A was already in the status "Acceptance" and so on. Also if you will need to take into account more issues, you will probably have to change "Ready for deployment" field to be a number field, that will add or subtract 1 whenevr a new blocking issue is added or solved.

So yeah, it can be somehow achieved, it can probably be made ready for 90% of cases, but without plugins there will always be a case where it will not work. Thats why most people will recommend byuing a plugin rather tha ndoing such workarounds.

comments: author: Mathias Minsel
body: Thanks a lot for the suggestions


author: Maciej Dudziak _Forgappify_
body: Hi [@Mathias Minsel](/t5/user/viewprofilepage/user-id/5215820)

I couldn't find an easy way to accomplish this in Jira Cloud using other apps, and as you found out, it is not possible in Jira out of the box. Therefore, we have created the Linked Issues Validator as part of the free [Workflow Building Blocks for Jira](https://marketplace.atlassian.com/apps/1233642/workflow-building-blocks-for-jira?hosting=cloud&tab=overview) app.

With a wizard-like UI, you can select options that represent your case. You can choose relations from: sub-tasks, parent issues, epic children, and linked issues. Additionally, you can filter relations by issue types and select criteria based on status category and status.

I am leaving a link to the [app's documentation](https://docs.forgappify.com/workflow-building-blocks-for-jira/jira-administrator/validators/linked-issues-validator) if you are interested.

I hope it will help.

Cheers

comments: author: Mathias Minsel
body: Thank you, I will evaluate the app.


Tags: cloud

jira-cloud