I have a manual automation rule that creates a set of issues linked in unique ways between one another when an EPIC is created. I have over time, updated the rule where the latest version of the rule creates additional issues in the EPIC compared to the previous rule versions. I'm now trying to create a rule to check if there are missing issues in existing EPICs that used an older version of the rule, and if so, create the missing issues for the given EPIC to match what the current rule does.
I'm facing two problems
For item 1: it would help to have more detail. Consider posting a screenshot of that portion of the rule. Conditional/Branch nesting is a known limitation of Jira Automation. The typical workaround is to "unroll the nesting". In your case, perhaps a JQL-based conditional could check for the missing issue and set a variable. Then refer to that variable later in the branch.
For item 2: exact search in Jira/JQL is not currently supported (despite the documentation).
Refer to JRACLOUD-69263 and please vote for it!
Here is a snippet of the rule I have been trying to put together
The idea was to loop through all the issues of the EPIC and set a variable to indicate the issue with a certain summary was not found. Then, later check the variable and if the issue was not found, create the issue and add it to the EPIC
Exact phrases cannot be checked currently, and just today I noticed that the priority of the related JAC issue (linked earlier in this thread) was unfortunately decreased.
However, just because JQL doesn't support it doesn't mean that Jira Automation can't make an exact check -- it can. It'll just take a bit more work in the rule. For example, just add another conditional that checks the specific field name (e.g. Summary) against the text. I think that's what you meant to do instead of the "Issue Matches JQL" conditional shown above.
Another factor that may impact your goal here is that Jira Automation doesn't naturally support an algorithm which loops to update a variable, and then later checks that variable. In short, that just doesn't work, because for performance reasons Automation will execute the loop content in parallel threads, leading to non-deterministic behavior with the variable.