Design business rules

You can define business rules that trigger actions in ALM Octane when certain conditions are met.

For an overview of business rules and their principles, see Business rules: Overview.

Create a rule

When you create a rule, you must define the action that it triggers, and then set the conditions (optional).

To create a rule:

  1. In Settings >  Spaces, select a space or a workspace.

  2. Click Entities and select the item for which you want to create a rule.

  3. Click Rules.

  4. You can create a new rule or use an existing one as a basis:

    • Click + to create a new rule.

    • Select a rule and click Duplicate Rule.

Back to top

Choose an action

Click Action and choose the action that the rule will perform.

Enter the relevant values for the selected action.

For a list of the available action, see Rule actions.

Back to top

Define a condition

A condition is made up of a field, an operator, and a value.

You can formulate complex conditions for rules that include several conditions separated by AND or OR operators.

Click the Condition tab to begin.

Select a field

Select a field on which to base the condition, or a special circumstance.

Special circumstances include: 

Edit Mode

The condition is based on whether the current entity existed already and is now being edited, or if the current entity is new.

To check if new: Edit mode = New

To check if existing: Not(Edit mode = New) 

Current User role The condition is based on whether a user is assigned a specific role.
<entity> count

The condition is based on how many related items of a certain type exist.

Cross-field conditions

Certain fields allow you to apply a cross-field condition to a business rule based on a field with a relation to the entity. Entities with these capabilities are indicated by the cross-field icon . You set a cross-field condition just as you would set a cross-field filter.

In the following example, the condition was set to any release preceding 06/11/2020.

Note: The cross-field condition only applies to single reference fields, such as release, owner, and phase; it does not apply to multiple reference fields, such as application modules and tags.

Select an operator

Depending on the selected field or special circumstance, different operators are available. For example, date fields display different operators than text fields.

In addition to typical operators (=, <, >, and so on), some fields support special operators, such as:

contains

Checks if the field contains the values you select from a list.

include

Checks if the current user role includes the roles you select from a list.

Available only for the circumstance Current User Role.

is empty

Checks if the field is empty.

is modified

Checks if the field is modified from its original value. This operator is not available for new entities.

Current and Original operators

You can set conditions that assess the original value of a field (when the entity was first accessed) or the current value of a field (because you may have changed the field value since the entity was initially accessed).

  • To base the condition on the original value, select an operator under the heading Original in the operator drop-down list.

  • To base the condition on the current value, select an operator under the heading Current in the operator drop-down list.

Set a value

In the next box, enter a value. You can enter a value or select one or more values from a list. If you select multiple values, they are connected with an Or statement.

For user fields, you can enter [Current User] as a value. If necessary, add AND/OR expressions to the condition.

Note: If you are using an Enterprise license, you will not be able to set the user field for all workspaces in a shared space. This capability is blocked since each workspace may have different users.

If necessary, add AND/OR expressions to the condition.

As you build the condition, a textual representation of the condition is displayed in the Description box.

Note: Conditions can evaluate to false if ALM Octane encounters a field in a rule definition that it cannot process because the field does not exist. Sometimes this is because a field was removed from the project. There are situations where this is not an error, but part of the logic necessary to implement your organization's policy.

By default, rules are activated. For details, see Business rules: Overview.

After you save the rules, ALM Octane automatically runs them.

Back to top

Rule actions

The following table includes the actions that you can define for a rule.

Action Description
Make
Required

Make fields mandatory.

Example: Making fields required

Make Read-only

Make fields read-only.

Modify Lookup List

Change the values for lists to:

  • Be a subset of the current list.

  • Include the values of a different lookup list, in addition to the current list's values.

  • Include a subset of the values of a different lookup list, in addition to the current list's values.

Enter the name of the list you want to use. For details on creating lists, see Set up lists.

Examples: 

Use Form

Enable users to select different form layouts for adding and editing entities.

The form layout must be predefined in Customization > Forms.

Example: Switching forms

Set Field Value

A rule can change a field's value in one of the following ways: 

  • Set a certain value for a field.

  • Copy a value from another field.

  • Clear a field's value.
  • Increment an integer or date field by a certain amount (works with the 'When saving an entity' timing).

Timing is the trigger that causes a value to be set. The timing can be:

  • When the entity is created.

  • When changing the value of another entity.

  • When saving the entity (use this timing to increment a field value).

The value can be a new value, empty, or a copy of another field's value.

Examples:

Trigger Webhook

ALM Octane supports webhooks for integrating with other applications. Configure the webhooks by creating a rule with the Trigger Webhook action.

Configure the following:

  • The events that call the URL

    Events trigger the Trigger Webhook mechanism to send HTTP or HTTPS requests.

    Specify the events using the Submission mode field. Valid events are: New, Update, Delete.

  • The connection to the URL

    The URL of the service application that will receive the webhook. Enter a valid, accessible URL.

    Click Test Connection to verify the connection is successful.

  • Credentials

    Trigger Webhook rules support basic authentication. You can set credentials in the Trigger Webhook rule and each Trigger Webhook request will include the basic authentication header.

    Credentials is the user name and password that ALM Octane can use to authenticate the request, typically using basic authentication.

    For details, see Set up credentials.

    Click Test Connection to verify the connection is successful.

  • The request payload

    By default, ALM Octane POSTS the following fields in the payload: 

    • ID

    • Type

    • Modified fields, including the original and changed values

    Use Fields to select additional fields to send in the request payload.

    Example:

    Triggering webhooks (calling a URL)

    For details, see Understand the webhook request payload format.

For end-to-end instructions on working with Trigger Webhook rules, review Trigger Webhooks for other applications.

Send Email

Send an email if an entity is created, changed, or deleted.

Submission mode is the trigger that causes the email to be sent.

Email recipients can be specific users defined in the workspace, or users whose names appear in the user fields of the entity for which the email is sent. In addition, you can add relevant stakeholders, such as team leads or team members of the teams set for the entity.

Tip: If an integration using an API access key will be sending out emails, you can define the email address that should be used for this purpose. Set the value of the SMTP_NOTIFICATION_SENDER_EMAIL configuration parameter to the email address. For details, see SMTP_NOTIFICATION_SENDER_EMAIL.

The body of the email is generated automatically by ALM Octane.

Alert User

If an entity matches the rule condition, an error dialog is opened with a message you define. The entity cannot be saved until the user modifies the entity and the entity no longer matches the rule condition.

Note: The condition should contain criteria that are not desirable. We want the rule to alert users with an error dialog box only if there is a problem. The condition specifies a problematic scenario, not a legitimate one.

You can have the rule alert users when an entity is created, changed, or deleted. Submission mode is the trigger that causes the rule to run.

Tip: You can use this rule action to prevent a user with a certain role from performing an action under certain circumstances. For example, if a rule action for creating a user story is Alert User, and the rule condition indicates the release that the user is not allowed to work in, if the condition is true, the user cannot work in that specific release—even if generally, the user has permissions to do so for other releases.

Example:

Send an email when a item's attributes are updated

Add Comment

Add a comment to the entity when an entity is created or updated.

Submission mode is the trigger that causes the comment to be added.

Assign to Users Adds an item in the My Work module for the user assigned to the selected type (author, detected by, owner, QA owner).
Block Transition

Prevent users from transitioning from one phase to a specific phase, even though the transition is generally permitted in the workflow for the entity.

Tip: To define phase-dependent rules, click the Workflow tab, select a phase or transition for which you want to create a rule, and click the Rules tab.

Back to top

Activating and deactivating rules

By default, rules are activated when they are defined. To deactivate a rule after it is defined, select the rule in the Rule list and click OFF.  

When creating rules that determine if a field is required or read-only, only one rule can be activated for a specific field.

For example, you cannot activate two rules on the field Priority, one making the field Priority mandatory and the other making the field Priority optional, at the same time. Both rules can exist, but they cannot both be activated.

Back to top

Rules for manual test runs

Consider the following when designing rules for manual test runs:

Rules triggered by manual test run creation

Rules that are defined to be triggered when manual test runs are created, will not be triggered in cases where runs are created in bulk. This applies when either running or planning a group of tests or a test suite.

To ensure that the rules are triggered in these cases, define the rules to run also when the entities are updated. This way, the rule actions will be activated when the testers update the runs, and they will receive relevant alerts, required fields, and so on.

Rules for Gherkin test runs

A manual run entity can represent either a manual test run or a manual run of a Gherkin test.

To make sure both types are covered in a rule for a manual run, define the conditions in a way that refers to both types. For example, show an alert in case:

Phase[Manual]=not_reviewed OR Phase[Gherkin]=not_ready

Next steps: