I would like to be able to make a Herald rule where in the actions I could specify something like:
* Run Herald Rule: [Dropdown of Herald Rules]
or
* Re-evaluate Herald Rules
It would cause phab to re-evaluate the designated rule conditions (or all rules) to see if it should trigger after all of this rule's actions are performed.
We can already specify a herald rule shouldn't run if another rule passed in the conditions, so a similar dropdown.
Here's my use case: I have tags representing organizational teams, with people members of them.
- Each team has a rule that executes once that sends an email to the team if a task if tagged with that team.
- There is a special team called `Needs Triage` with specific people as members, in case a task does not get created with a team tag. It has a similar email rule.
- There is a rule that states that if a task has no team tags, and no assignee, then it adds the `Needs Triage` tag to the task.
//My problem:// When I create a new task with no tags and no assignee, a herald rule triggers to add the `Needs Triage` tag to it. However the rule to email members of `Needs Triage` does not. It will only trigger on the NEXT action on the task, say if I add a comment. This tells me that each rule conditions are on the state before herald rules are applied and can't be impacted by other rules.
//My request:// Hence this request is to give me the ability to make a bit of a "rule higherarchy" if I know of a rule I was to trigger. Optionally the action could also be "re-evaluate herald rules" so it would trigger again. Some dangers with infinite loops I imagine though which are minimized if you must provide the rule name, though it could just keep track of all execute rules and never execute the same rule twice.
//My workaround:// Right now I've added an email to the rule that adds the `Needs triage` task, but this means that the next comment on the task also emails, resulting in 2 emails for the same task, which is not what I want.
I tried to search and couldn't find this feature requested elsewhere. Hopefully this isn't just me thinking about the problem wrong and just need to re-organize my logic.
Thanks!