Overview
Conditions allow you to specify additional prerequisite requirements for Triggers and some Transitions.
They are a set of optional parameters that can be added to the macros (listed below) to impose additional limits on when the macro is active.
In addition, due to support for Value References, you can even create custom conditions by comparing metadata values.
Basic example
{workflow:name=Conditions} {state:Editing|approved=Done|rejected=Editing} {approval:Review|group=confluence-administrators|assignable=true} {state} {state:Done|final=true|updated=Editing} {state} {workflow}
In the example above, only a user who is a member of the confluence-administrators group can review the content.
Compatible Macros
If a macro has a parameter with the same name as a condition, the parameter as defined in the macro takes precedence. For example, |
Conditions
Condition | Value | Notes | Ver |
---|---|---|---|
A specific value, of valid type for the value reference.
| Does the value of a value reference match the specified value? For example, Conditions using value references can also be set when using a third-party app: | ||
If used in a trigger macro that's listening for the | |||
One invalid parameter in a list of users in a condition disables the transition for the other listed users. The non-existent parameter value is a blocker for an approval or a state-selection transition. | |||
| A comma-separated list of group names
| Is the current user a member of one or more of the specified groups? | |
When applied to the approval macro, it is a parameter of the approval macro - it is not used as a condition. For example, you can prefix the list (not items in the list) with | |||
| Name of an approval | Has an | |
When applied to an approval macro in a state with multiple | |||
| A comma-separated list of content labels. | Does the content have one or more of the labels specified? | |
|
| Is this action only for the initial occurrence of the named state for the content?
| |
The use of The primary use of the | |||
| Title of required ancestor page.
| Does the current page have a parent or ancestor page of the specified page title? | |
|
| Is this page set as the space home page? Filter by labelThere are no items with the selected labels at this time. See also: How to set space home page | |
|
| Did the content editor uncheck the "Notify watchers" checkbox (indicating a "minor change") before updating the content? The | |
This condition can only be used in a trigger macro when listening to either the | |||
|
| Is the page an orphan (no parent page)? Filter by labelThere are no items with the selected labels at this time. | |
| A comma-separated list of content labels. | Does the parent (or any ancestor pages) have one or more of the labels specified? Filter by labelThere are no items with the selected labels at this time. | |
|
| Has an individual reviewer undertaken an Approve/Reject decision?
This condition acts as a filter to tell the trigger to act on each individual Approve or Reject decision, rather than waiting on all reviewers to agree for the named content review. | |
The use of | |||
|
| Does the user have the specified permission for the content? Filter by labelThere are no items with the selected labels at this time. See also: Roles and Permissions | |
† Irrespective of additional view restrictions resulting from Publishing. ‡ Additional administrator that is defined via the | |||
| A space key.
| Is the page or blog post in the space defined by the space key? Filter by labelThere are no items with the selected labels at this time. The space key is usually shown in URLs or on the Space Tools → Space Overview screen. | |
| A state name. | Is the workflow for this content currently in the named state? | |
| A state name. | Is there an unpublished version of this content in the corresponding Draft Space? Filter by labelThere are no items with the selected labels at this time. | |
This condition requires the installation of the Comala Publishing app. | |||
|
| Has an error occurred in the action(s )of a workflow trigger?
This condition acts as a filter for the trigger and looks at whether the actions of the parent trigger for the custom event encountered any errors. | |
The use of | |||
| A comma-separated list defines one or more users via their usernames or user groups.
| Is the current user one of the users listed? You can include One invalid parameter in a list of users in a condition disables the transition for the other listed users. The invalid user parameter value is a blocker for an approval or a state-selection transition. | |
When applied to the approval macro, it is a parameter of the approval macro - it is not used as a condition. You can prefix the whole list (but not an item in the list) with | |||
| Comma-separated list of Value References | Does the value reference define users? This is useful when using workflow parameter macro to create editable value references – use this parameter to check that the entered values are valid user accounts. Filter by labelThere are no items with the selected labels at this time. | 4.1 |
metadata reference | Reference to a metadata value (including a workflow parameter reference) | When comparing metadata (value references), a metadata reference can only be compared against one specific value or a value reference. Multiple values can ONLY be compared when metadata is used with a | |
Denotes conditions that can only be used on pages, not blog posts. † Conditions are evaluated as AND conditions, with the exception of user and group. When both conditions are used, an OR clause is applied, i.e., (user or group), and either one of those parameters is required for the condition to be true. | |||
Denotes a parameter in a trigger macro that acts as a filter. The use of these is unique to specific events. |
Negation
Conditions are compared to values. Values can optionally be negated with a !
(exclamation mark) symbol:
{...|condition=value|...} -- value must match {...|condition=a,b,c|...} -- one or more of the values must match {...|condition=!value|...} -- value must not match {...|condition=!a,b,c|...} -- none of the values must match
Comparing metadata values
A metadata reference can only be compared against one specific value or a value reference.
An exception is that multiple values can be compared when using a metadata reference with the following conditions
user
group
haslabel
When comparing the metadata value against multiple values, you should also use the following format
@MetaOne@=!1|@MetaOne@=!2|@MetaOne@=!3
For example
{state-selection:states=Approved|user=@MetaOne@=!1|@MetaOne@=!2|@MetaOne@=!3}
The condition is evaluated as an OR condition.
If a metadata condition is included in a pageupdated
trigger, the trigger does not fire if the referred metadata value is being updated.
Invalid workflow parameter for a user
One invalid parameter in a list of users in a condition disables the transition for the other listed users. The non-existent parameter acts as a blocker for other users.
Invalid workflow parameter for a user in a condition for a select transition
If a workflow parameter is used to specify a user for a state-select
transition, the transition is disabled If the user set in the parameter is invalid (deleted or non-existent).
The transition becomes active if the parameter becomes valid by adding a valid value or is deleted.
For example, if the workflow parameter @myParam@
has an invalid user value, the transition button in the workflow popup is disabled.
{state:In Progress|taskable=true} {state-selection:states=Approved|user=@MyParam@} {state}
If the invalid workflow parameter is one of the users for the state-select
transition, the transition is disabled for the other users listed in the condition. The non-existent parameter blocks the transition.
{state:In Progress|taskable=true} {state-selection:states=Approved|user=@MyParam@, admin, elle} {state}
A message displays an error in the workflow definition regarding the list of users who can undertake the transition.
Invalid workflow parameter in a condition for an approval
If a workflow parameter is used to specify a single user for an approval, the Approve and Reject buttons in the workflow popup are disabled if the user set in the parameter is invalid (deleted or non-existent).
{state:Review|approved=Approved|rejected=Rejected} {approval:Review the page|user=@MyParam@} {state}
The transition will become active if the parameter becomes valid by adding a valid value or is deleted.
If the invalid parameter is one of a list of users for the approval, then the approval is disabled for all users.
{state:Review|approved=Approved|rejected=Rejected} {approval:Review the page|assignable=true|user=@MyParam@, admin, elle} {state}
The non-existent user defined in the parameter blocks the approval.
A message displays an error in the workflow definition regarding the list of users who can approve.
The approval becomes active for each defined user if the parameter becomes valid by adding a valid value or is deleted.
Examples
-
Add a label to child pages — Triggers to add a label to page using a pagecreated trigger with either a
parenthaslabel
or aischildof
condition -
Adding Multiple Reviews — Add multiple reviews to a content review, set assignee requirements and review dependencies
-
-
-
Communardo Metadata for Confluence app — Using the Communardo metadata as value references in a workflow - including use in a custom condition for a trigger macro
-
Make tasks disable a review — Two ways to use tasks to disable a review. The first way uses a precursor task state where the tasks can be set and completed. The second example uses a Value Reference as a condition to check that all tasks are complete. For the value reference method, you will need the Reporting for Confluence app in addition to Comala Document Management.
-
-