-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
2
-
Severity 3 - Minor
-
Issue Summary
In Confluence, whenever a new version of a page is published it triggers the rule for "Page Status Change", even if the content status for that page was not changed during that page update.
If the current page Status matches the criteria expected by the rule, it will perform actions to pages when it should not (for example, spamming notifications to approvers/reviewers about a page).
Steps to Reproduce
- Create a new automation rule based on "Page Status Change" for and define some target Status (for example, "In Progress");
- Create/edit a page under the rule scope and change the page content status to match the rule from the previous step and publish (for example, "In Progress");
- Edit the page once again and publish a new version without changing the content Status.
Expected Results
The automation rule was triggered only once (after step 2).
Actual Results
The automation rule was triggered twice (after step 2 and again after step 3).
Workaround
This may not apply to every business case: a potential workaround can be done by adding some label (for example "status-x-action-performed") as the last action step of the target rule, and including that same label in an IF clause right at the beginning of the rule (after filtering target status) so it will skip it the rest of the rule from second execution onwards.
In the example below, the actions will only happen in the first time this rule runs after page gets changed to 'Done':
<Start - Rule Trigger: When Page status changed>
<IF content.status = "Done">
<IF CQL Condition: label != "status-DONE-action-performed">
<Desired actions for the rule>
<Action: Add Label "status-DONE-action-performed">
<End>
In the case of multiple rules for different Statuses, distinct labels should be used to track the execution of each different rule. Also, it may be required to remove the labels used by other rules once each specific status is reached.