Understand the general concepts and best practices of automation in Atlassian Cloud products.
Automation is a new admin feature available in Confluence Premium and Enterprise. Read the announcement in this community post to learn more.
Branches are optional components that expand the execution of your rule. When a branch is added, the rule no longer executes in a linear fashion, but instead expands to multiple paths (with the potential to perform multiple actions).
The condition or action you add will only apply to the branched part of the rule chain.
The If/else block condition isn’t compatible with branch components.
This is because they serve opposing functions: An If/else block condition runs either one path or the other, where as branching runs multiple paths at once.
You therefore won’t see If/else block as an option when you add a condition component to a branch.
In Confluence automation, a branch is always some form of “For each” plus a type of object. A For each branch applies whatever condition or action follows it, for each object type that meets the criteria you set.
For example, apply the same action for each task (the object type) that is due in 3 days (the criteria you set).
For each task
Tasks are action items that have been assigned to a person or team by mentioning them.
A For each task branch applies the same condition or action, for each task that meets the criteria that you set.
Unlike some components, For each task doesn’t modify the trigger. The scope of this branch will look at all tasks in the associated space (Space automation) or spaces (Global automation).
For this reason, it’s commonly used to run space-level task audits in combination with the Scheduled trigger – as demonstrated in the rule template, Remind users of incomplete tasks that are due soon.
The criteria you can set includes:
Status: Whether the status of the task is complete or incomplete.
Due date: When the due date is (and whether it has passed).
Assignee: Who (or what group) the task is assigned to.
For each task will default to the Status criteria module. Select the X to remove it. Select Add Filter to add different (or additional) criteria including Assignee or Due date.
For each CQL result (related entities)
CQL stands for Confluence Querying Language and, like JQL and IQL in Jira, can be used to conduct advanced searches in Confluence.
A For each CQL result branch applies whatever condition or action follows it, for each object as defined by your query.
This is a way to create a custom “For each” branch using any object type that you want.
For each CQL result will modify the trigger. In order for this branch to work properly, your CQL query must relate to the object of the rule’s trigger.
Create custom queries
You can join two or more clauses with keywords (like OR, AND) to form a more complex CQL query.
Below are some examples of common CQL queries to provide contextual starting points for different objects. To learn more about how to construct your own queries, see Advanced searching using CQL.
Query examples (by object type)
For each page…
…that contains the same term (or phrase) in the title
…that uses the same Confluence macro
For each blog post…
…that was created in the last month
For each comment…
…that you (as a specific user) wrote in the past week
For each attachment…
…that contains the same term (or phrase) in its name
…that’s a PDF containing a certain term (or phrase)
Confluence doesn’t have any general branch components in common with other products.
Was this helpful?