Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Content has to be approved before it can progress to the next state, or it can be rejected to send it back for more edits. Once all reviewers agree on the review decision – either reviewers all have Approved or all have Rejected – the workflow will transition to the state defined by the approved or rejected parameter on the parent state macro.

Where to use it?

Optional.

One or more approval macros can be put in a state macro.

Within a state, each approval must be uniquely named.

(blue star) An approval cannot be used in a state if the state has a state selection macro.

Parameters

Parameter

Required

Default

Notes

Ver

unnamed first parameter

(tick)

Name of the content review.

  • within any state macro, each approval macro must be given a unique name

  • the name can use any character set supported by your Confluence server – except some reserved characters.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-weight" and label = "example" and space = currentSpace ( )

description

The description for the approvals:

  • plain text

  • can use any character set supported by your Confluence server – except some reserved characters.

5.7+

label

Requires that the content has the specified label for the approval to be active.

  • only one label can be used

  • the label cannot contain , !, #, &, (, ), *, ,, ., :, ;, <, >, ?, @, [, ], ^

  • the label cannot be negated

If the content does not have the specified label:

  • the Approve/Reject buttons are disabled.

  • reviewers cannot be manually assigned to the approval if the approval includes assignable=true

  • if the approval is one of several approvals in a state (multiple reviews) it is not required for the transition

If the addition of the specified label is a requirement (condition) for the the approval to be undertaken then use the haslabel condition instead.

Conditions

Optionally define additional requirements (conditions) which must be met prior to content approval .

If one or more conditions are not met, the Approve/Reject buttons will be disabled. However, reviewer assignment will still be possible.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "concept-conditions" and label = "example" and label = "macro-approval" and space = currentSpace ( )

Reviewer/Assignee Parameters

Parameters to specify if, who and how reviewers are assigned to the content review.

Parameters selectedapprover, selectedapprovers and ( group and/or user ) are mutually exclusive. You can use the parameters group and user together.

Prefixing the list with & (ampersand) will auto-assign all users and require them to review (this feature is incompatible with the assignable parameter).

If there are 15 or fewer possible assignees (as specified by the user, group, selectedapprover or selectedapprovers parameters, then they will all be listed by default on the Assigning reviewers screen without the need to perform a search.

The default number (15) of possible assignees listed on the Assigning reviewers screen can be changed in Advanced Global Configuration

assignable

false

Can the user assign reviewers?

  • true – Yes, they can assign reviewers

  • false – No

Note: Assignees must have permission to edit the content and also be member of confluence-users group as a minimum. Other parameters relating to reviewers may enforce further restrictions.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-assignable" and label = "example" and space = currentSpace ( )

3.2+

credentials

0

To what extent do reviewers need to confirm their identity when reviewing?

  • 0must be logged in (member of confluence-users group)

  • 1 – additionally, must confirm Password / Signing Token

  • 2 – additionally, must confirm Username

The requirements stack, so a value of 2 would mean: ‘Logged in + Password / Signing Token + Username’.

The method of authentication can be configured globally. The options above for the credential password can be set to be based on either:

  • a user's Confluence credentials

  • a signing token generated by a third-party app.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-credentials" and label = "example" and space = currentSpace ( )
Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "esign-credentials" and space = currentSpace ( )

exclude

List users who are not allowed to review.

  • a comma-separated list of usernames.

  • supports Value References (for example: @author@ to prevent content author from reviewing)

Note: While excluded users are not able to be assigned or Approve/Reject, they can still assign other users as reviewers where applicable (eg. if the assignable=true is used).

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-exclude" and label = "example" and space = currentSpace ( )

4.16+

group

Reviewers must be a member of the specified user group(s):

Note: Users who do not have Edit content permission will not be allowed to review.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-group" and label = "example" and space = currentSpace ( )

(star) When group is applied to the approval macro it is not used as a condition for the approval macro - it is an approval macro parameter.

You can prefix the first list item with the & (ampersand) to mandate that all users in the groups defined by the list must take part in the content review. 

minimum

(info)

Define the minimum number of reviewers required for the content review to be approved.

  • default is at least one user must approve

  • if you need more users, then specify number  ≥ 2

  • supports Value References (v4.18+)

If more than the minimum number of users are assigned as reviewers then all assignees must undertake and agree the approval.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-minimum" and label = "example" and space = currentSpace ( )

(info) If using the selectedapprover or selectedapprovers parameters, the minimum defaults to 1.

rememberassignees

false

Remember the assignees for reviews with this name?

  • true – any subsequent reviews in the workflow that have the same name as this review (as defined by unnamed first parameter) will automatically have the same reviewers assigned ("sticky assignees")

  • false – don't remember assignees

Info

The rememberassignes parameter, when true, remembers preassigned reviewers who have been unassigned.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-rememberassignees" and label = "example" and space = currentSpace ( )

4.14+

roles

false

Enable approval roles feature

  • trueapproval roles are enabled, users assigning a review will be able to record the role that the reviewer is performing

  • false – approval roles are disabled

6.4+

selectedapprover

A single reviewer must be assigned from the list:

  • a comma-separated list of usernames and/or group names

  • group names are treated as "a list of usernames"

  • supports Value References

Note: Users who do not have Edit content permission will not be allowed to review.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-selectedapprover" and label = "example" and space = currentSpace ( )

selectedapprovers

One or more reviewers must be assigned from the list:

  • a comma-separated list of usernames and/or group names

  • group names are treated as "a list of usernames"

  • supports Value References

Note: Users who do not have Edit content permission will not be allowed to review.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-selectedapprovers" and label = "example" and space = currentSpace ( )

user

Reviewers must be in the specified list:

Note: Users who do not have Edit content permission will not be allowed to review.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-user" and label = "example" and space = currentSpace ( )

(star) When user is applied to the approval macro it is not used as a condition for the approval macro - it is an approval macro parameter.

You can prefix the list (not items in the list) with & (ampersand) to mandate that all users in the groups defined by the list must take part in the content review.

allowedassignusers

Assigners must be in the specified list:

Note

  • users who do not have Edit content permission will not be allowed to assign. It can be used along with the allowedassigngroups parameter.

  • adding this parameter does not disable the review for users who have Edit content permission until a reviewer has been assigned. To prevent the review from being undertaken before assignment of a reviewer, use this parameter in conjunction with one of  selectedapprover or  selectedapprovers parameters.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-allowedassignusers" and label = "example" and space = currentSpace ( )

allowedassigngroups

Assigners must be a member of the specified user group(s):

Note

  • users who do not have Edit content permission will not be allowed to assign. It can be used along with the allowedassigngroups parameter.

  • adding this parameter does not disable the review for users who have Edit content permission until a reviewer has been assigned. To prevent the review from being undertaken before assignment of a reviewer, use this parameter in conjunction with one of  selectedapprover or  selectedapprovers parameters.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-allowedassigngroups" and label = "example" and space = currentSpace ( )

User Interface Parameters

These parameters are used to customise the user interface of the Workflow Popup.

approvelabel

Approve

Set the caption of the Approve button.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-approvelabel" and label = "example" and space = currentSpace ( )

5.1+

rejectlabel

Reject

Set the caption of the Reject button.

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-rejectlabel" and label = "example" and space = currentSpace ( )

5.1+

weight

40

When using multiple approval macros inside a single state, you can use this parameter to set the initial display order.

  • number ≥ 1

  • valid values in range of 1 → 232

  • for best results, use multiples of 40.

  • items of the same weight will be ordered alphabetically A→Z

  • completed reviews will bubble to the top of the list, in order of completion

Filter by label (Content by label)
showLabelsfalse
max6
showSpacefalse
sorttitle
cqllabel = "macro-approval" and label = "parameter-weight" and label = "example" and space = currentSpace ( )

Deprecated Parameters

The following parameters should no longer be used.

final

Status
colourGreen
titlePublished
Use the final parameter on the published state macro instead – see Publishing.

Example

Code Block
languagetext
{workflow:name=Example}
    {state:Editing|submit=Review|colour=#ffab00}
    {state}
    {state:Review|approved=Published|rejected=Editing}
        {approval:Review this page|assignable=true|roles=true}
    {state}
    {state:Published|final=true|updated=Editing}
    {state}
{workflow}

...