Manage workflow actions

Add workflow actions

Do the following:

  1. In the VisualFlow main menu, click Workflows.

    The List of Workflows page is displayed.

  2. Do one of the following:

    • Click on the desired workflow's name.
    • Next to the desired workflow, click Edit.

    The Edit Workflow page opens with the workflow's details.

  3. Do one of the following:

  4. Do one of the following:

    The Edit Action page is displayed.

  5. Complete the fields using the information in Action Fields (see Action Fields ).

  6. If you set the Parallel field to Yes, set the action's responsible roles by doing the following:

    1. Click the Set responsible roles link.

      The Responsible roles dialog box appears.

      The Responsible role field displays the user role responsible for change requests in this status.

    2. In the Additional responsible roles list, select the additional user roles responsible for change requests in this status.

      To select multiple user roles, press Ctrl while you click on the desired user roles.

    3. Click OK.

  7. Click Save Draft.

The action is added to the list of actions.

Back to top

Action condition syntax

In order to specify a condition under which a change request will transition to a new status when an action is performed, you must compose an XQL query. The XQL query can include the following:

Elements

An element may be any node in the XML of a change request, called a flat ticket. A flat ticket's root node is <Ticket>, which is written in an XQL query as Ticket.

In order to specify a sub-node, use "/". For example, to specify a flat ticket's <Firewall> node, write:

Ticket/Firewall

You can use an asterisk "*" to specify a wildcard. For example, to specify any sub-node of Firewall, write:

Ticket/Firewall/*

Filters

In order to apply a condition to an element, use square brackets "[ ]" in the following format:

Element[condition]

Where condition is a sub-query specifying the desired condition.

For example, to specify that the device brand must be Juniper Netscreen, write the following:

Ticket/Firewall[Brand = "Juniper Netscreen"]

Comparison operators

Elements in a sub-query may be compared via comparison operators in the following format:

element operator "value"

Where operator is a supported comparison operator, and value is the element's desired value.

In the previous example, the sub-query used the = operator as follows:

Brand = "Juniper Netscreen"

Boolean operators

It is possible to use Boolean operators inside a sub-query. For example, the following query specifies that the change request must be assigned to the Standard workflow, and the status must be "new":

Ticket[Workflow = "Standard" $and$ Status = "new"]

For more intricate queries, you can use parentheses to group comparisons inside a sub-query. For example, the following query specifies that the change request must be assigned to the Standard workflow, and the change request status must be "new" or "plan".

Ticket[Workflow = "Standard" $and$ (Status = 'new' $or$ Status = 'plan')]

Flat Ticket Examples

A flat ticket is a change request in XML format.

Supported Boolean Operators

Supported boolean operators include:

Operator

Description

$and$

Both of the comparisons in the sub-query must be true.

In the following example, the condition is only met for new change requests with the Standard workflow:

Ticket[Workflow = "Standard" $and$ Status = "new"]

$or$

One or both of the sub-queries pairs joined by this operator must be true.

In the following example, the condition is met for change requests that are new, change requests owned by John Smith, and new change requests owned by John Smith:

Ticket[Status = "new" $or$ Owner/RealName = "John Smith"]

Comprehensive Examples

Back to top

Add parallel action logic

By default, FireFlow allows you to specify whether an action will be performed in parallel to a second, identical action.

If desired, you can add more logic for parallel actions. For example, you can add the following parallel action logic:

  • 50% of the responsible roles must meet certain criteria, in order to trigger this action.
  • The "Managers" user role must meet certain criteria in order to trigger this action.

Do the following:

  1. Log in to the FireFlow server using the username "root" and the related password.
  2. Under the directory /usr/share/fireflow/local/etc/site/lib/, open the file ParallelSiteLogic.pm.
  3. For each parallel logic you want to configure, add the following lines to the file:

    sub parallel_ logicName

    {      my $additionalGroups = shift;      my $pendingGroups = shift;}

    Where logicName is the name of the parallel logic. This can be any string.

    The function will receive the following parameters as input:

    • $additionalGroups - The additional responsible roles field after update
    • $pendingGroups - The pending responsible roles field after update

    The function will return a Boolean value:

    • 1 - The logic is satisfied, and the action will be triggered.
    • 0 - The logic is not satisfied, and the action is still in parallel status.
  4. Save the file.
  5. Restart FireFlow. For details, see Restart FireFlow.

Back to top

Edit actions

Editing an action will modify the action's default settings throughout all statuses in the workflow.

Do the following:

  1. In the VisualFlow main menu, click Workflows.

    The List of Workflows page is displayed.

  2. Do one of the following:

    • Click on the desired workflow's name.
    • Next to the desired workflow, click Edit.

    The Edit Workflow page opens with the workflow's details.

  3. Do one of the following:

    • In the VisualFlow main menu, click Actions.

      The Available actions page is displayed with a list of actions used in the workflow.

    • In the workflow layout, click on a status that uses the desired action as an inbound or outbound action.

      The Edit Status page is displayed with a list of inbound and outbound actions for the status.

  4. Click Edit next to the desired action.

    The Edit Action page is displayed.

  5. Complete the fields using the information in Action Fields (see Action Fields ).

    If you expanded the Advanced area, additional fields appear.

  6. If you set the Parallel field to all, set the action's responsible roles by doing the following:

    1. Click the Click here to set the action's responsible roles link.

      The Responsible roles dialog box appears.

      The Responsible role field displays the user role responsible for change requests in this status.

    2. In the Additional responsible roles list, select the additional user roles responsible for change requests in this status.

      To select multiple user roles, press Ctrl while you click on the desired user roles.

    3. Click OK.

  7. Click Save Draft.

Back to top

Reorder actions

You can control the order in which actions appear in a workflow's list of actions.

Do the following:

  1. In the VisualFlow main menu, click Workflows.

    The List of Workflows page is displayed.

  2. Do one of the following:

    • Click on the desired workflow's name.
    • Next to the desired workflow, click Edit.

    The Edit Workflow page opens with the workflow's details.

  3. In the VisualFlow main menu, click Actions.

    The Available actions page is displayed.

  4. In the list of actions, click next to an action you want to move, and drag it to the desired location in the list.

Back to top

Delete actions

Do the following:

  1. In the VisualFlow main menu, click Workflows.

    The List of Workflows page is displayed.

  2. Do one of the following:

    • Click on the desired workflow's name.
    • Next to the desired workflow, click Edit.

    The Edit Workflow page opens with the workflow's details.

  3. Do one of the following:

    • In the VisualFlow main menu, click Actions.

      The Available actions page is displayed with a list of actions used in the workflow.

    • In the workflow layout, click on a status that uses the desired action as an inbound or outbound action.

      The Edit Status page appears with a list of inbound and outbound actions for the status.

  4. Next to the desired action, click Delete.

    A confirmation message appears.

  5. Click OK.

The action is deleted from the list.

Back to top