Parameter References

Overview

A workflow parameter reference is used to allow an applied workflow to indirectly access a value that can be set elsewhere, for example in the Parameters - Space Tools or a workflow parameter value set by a user on the page.

One or more workflow parameters can be added to a workflow using workflow builder.

The workflow parameter can be set to use one of the following data types

  • character string

  • Confluence user name(s)

  • Confluence group name(s)

  • duration

  • a list of set values

In the workflow markup, the workflow parameter is defined by the workflowparameter macro.

Workflow parameters can be referenced in the workflow by their name wrapped in @ (at) symbols.

Where can they be used?

You can use parameter references in the following situations

  • any macro parameter (including macro bodies, where applicable) that supports value references

{trigger:statechanged|state=Published} {set-label:@My workflow parameter@} {trigger}

Workflow parameter value

A workflow parameter reference

  • can be set to allow a user to edit the parameter value

  • can be added to the workflow with a default value

Default parameter value

A workflow parameter can be added with a default value.

The default value is set when adding a workflow parameter to a workflow template.

The default value is used as the workflow parameter value on the first application of the workflow to a page or blog post.

The default parameter value can also be set for each space in the space tools parameters dashboard.

The default data value must be the same as the defined type of workflow parameter.

Editable value

A workflow parameter can be added to a workflow template as editable by a user. This can be done by either

  • adding using editable=true in the workflow parameter macro markup

{workflowparameter:The Message:editable=true}

  • or, checking Editable in the Workflow Parameters editor in workflow builder

By default, a workflow parameter is added as editable when using workflow builder.

You must uncheck Editable attribute checkbox if you don’t want this value to be changed by a user on the page.

If the workflow parameter is set as Editable, the default value can be changed by a user on adding a workflow as a space workflow or page workflow.

A user can also change the value for a workflow parameter on a page or blog post with an applied workflow that includes an editable workflow parameter

  • using the Edit parameters option in the workflow inspector dialog box

  • using the Edit parameters option in the page tools menu if the workflow is added as a page workflow

A workflow parameter added to a workflow template in a space with a default value and the Editable attribute unchecked is still editable by a space administrator in the space parameters dashboard.

Space workflow parameter

If a default value for the workflow parameter is included when the workflow is first added to/created in a space the workflow parameter with the default value is added to the space tools Parameters dashboard.

The value in the space parameters dashboard can be edited by the space administrator.

The parameter dashboard value is used when a space workflow or a page-level workflow is first added to the content.

If the space parameter value is changed by the space administrator this value will be used for all subsequent applications of the workflow in the space irrespective of the default value set in the workflow template.

A use case where this can be helpful is when using a global workflow. For example, a space admin might want to change the default value of a specific workflow parameter for use within a space. Editing the space parameter value allows the space-specific parameter value to be set, without altering the global workflow.

The workflow parameter can be deleted from the parameters dashboard. This does not remove the workflow parameter from the workflow. Any application of the workflow uses the default value defined in the workflow itself or, if the parameter is editable, the value set by a user on the page or blog post where the workflow is applied.

Page parameter update trigger event

A change in a workflow parameter value generates a pageparameterupdate workflow event that can used in a workflow trigger.

For example, in a workflow, the value of the workflow parameter Reviewer is used to assign the reviewer for an approval.

{state:Review|approved=Published|rejected=In Progress|requiredparams=Reviewer} {approval:Review|user=&@Reviewer@} {state}

A change in the workflow parameter changes the assigned reviewer. A workflow trigger can be set to listen for this parameter update in the Review state and return the workflow to the precursor state.

{trigger:pageparameterupdate|parameter=Reviewer|state=Review} {set-state:In Progress} {set-message} Reviewer has been updated to @Reviewer@{set-message} {trigger}

The assigned reviewer can be checked or changed on the transition to the Review state, as the transition is set to require the parameter value for Reviewer using requiredparams=Reviewer.

Retrieving workflow parameter values

get-metadata macro

Workflow parameter values can be retrieved using the get-metadata macro

  • the current value is retrieved for the current page (and will not necessarily be the default value or the space parameter value)

Workflow parameter values can be added to the page properties macro using the get-metadata macro.

The current values for the page will be displayed and can be reported using the page properties report macro.

This can be useful to display details of a process managed by a workflow, for example, a release management process.

Removing a workflow parameter value on a page

When removing a workflow from a document or a space using Clear Document Activity, a user can choose to clear any stored values for the workflow parameters on the document together with (or separately from) the document activity.

Adding a workflow with a workflow parameter

In the example below, a parameter called "The Message" is referenced as "@The Message@" in the body of the set-message macro which is triggered by transitioning to the Stop state.

If the workflow parameter is added as editable using editable=true 

On the first application of the workflow to content, a user is asked to undertake some minor setup by editing the workflow parameter value.

The parameters dialog box will display any default values (or the space parameter value) set for the workflow parameter.

The user can choose to Save the current value or add a new value.

For a page workflow, an Editable workflow parameter can also be edited by using the Edit Parameters option in the page tools menu.

After changing the value for a workflow parameter, the workflow will only use the new value after a workflow event has taken place, for example a transition

Changes in the workflow parameter value

A change in the value of a workflow parameter may require a workflow event to take place before the workflow can access and use the updated value.

The value for an editable workflow parameter is changed by a user on the page

The value will be used when the next workflow event occurs that references the workflow parameter but

  • the new value may not be available for use by the workflow in the current state

  • the new value will then only be available for use by the workflow after a transition occurs

The value for an editable workflow parameter is changed by the space administrator in the parameters dashboard

The value will be used when the workflow is first added to content but

  • the value will not be available in the initial state of the workflow on applying the workflow until a workflow event has occurred

  • the value is not updated on content where the workflow is already applied

  • the value is not updated when the workflow cycles back to the initial state

If a parameter reference is used to pre-assign reviewers, the value of the parameter reference will not be available in the initial workflow state. The approval will need to be added to a different state so the value is available for the workflow to use.

This occurs because when a workflow is first applied to a page as a space workflow

  •  only the link to the workflow is created (and any page restrictions, if using same-space publishing, are applied)

  • the page (or blog post) itself won't actually transition into the initial workflow state, despite it appearing that way when you look at the workflow status bar

In the Document Activity Report - Content for the content, you'll see that there are no workflow-specific entries listed. These pages are referred to as "unprocessed".

  • assigning a reviewer is a workflow process and it will use the workflow parameter value

  • pre-assigned reviewers will not use the workflow parameter value until after a workflow process had occurred such as a transition

Use an initial state to set workflow parameter value for pre-assigned reviewers

In the example below, we are using a workflow parameter reference, Editor, to set the pre-assigned reviewer for an approval. The workflow is applied as a space workflow.

The Initial state is added to ensure that the content is processed by the workflow and the value for the workflow parameter Editor is available for use by the Check Review approval.


Any changes to the workflow parameter Editor value can be made in the Initial state by a user

  • editing the value by choosing Parameters in the Workflow setup dialog box

A space admin can also change the parameter value using the space tools Parameters dashboard before any workflow activity has taken place or a user has set up the parameter value.

Using workflow parameters