Difference between revisions of "Rules and Rule Sets"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 8: Line 8:
Each Rule can carry out one or more actions. One of those actions is to execute another Rule Set, which causes the Rules to ''chain''. When Rules chain, the processing of the current Rule Set stops until the chained Rule Set finishes. The processing of the original Rule Set then resumes where it left off. (Chaining can go to arbitrary depth.)
Each Rule can carry out one or more actions. One of those actions is to execute another Rule Set, which causes the Rules to ''chain''. When Rules chain, the processing of the current Rule Set stops until the chained Rule Set finishes. The processing of the original Rule Set then resumes where it left off. (Chaining can go to arbitrary depth.)


==Working with Rules and Rule Sets==
==Working with Rules==
 
===Creating or Modifying a Rule Set===
# Go to '''Designer > Case Types > {case type} > Rule Sets'''
# Click '''[New Rule Set]''', or visit an existing one
# Fill in the Rule Set properties, below
# Click '''[Save]'''
 
====Rule Set Properties====
:* '''Title -''' The title you'll see when referencing the Rule Set in the {{HD}} interface. 
:* '''Name -''' The name used by programmers. A default version of the name is created from the title, but it can be edited, if desired.
:* '''Enabled -''' Whether or not the Rule Set is currently in force. (Disable a Rule Set to temporarily deactivate it, without deleting it.)
:* '''Use for Inbound Emails -''' The rules will operate on incoming email messages. (Email fields like <tt>To</tt> and <tt>Subject</tt> will be available for processing.)
::: ''Learn more:'' [[Email to Case]]
:* '''Return Type -''' If the Rule Set will return a value, specify the type of value -- Boolean (true/false), Number, String, Date, a User/Role, or None.
:* '''Description -''' Write a descriptive summary here.
 
====Rule Set Example====
Here's a sample Rule Set that is intended to determine the owner for a case:
:[[File:RuleSetExample.png]]


===Creating or Modifying a Rule===
===Creating or Modifying a Rule===
Line 83: Line 64:
:* '''Execute Rule Set -''' Chain to a different Rule Set, and execute those Rules
:* '''Execute Rule Set -''' Chain to a different Rule Set, and execute those Rules
:* '''Invoke Method -''' Invoke a method in a Java [[Class]]
:* '''Invoke Method -''' Invoke a method in a Java [[Class]]
==Working with Rule Sets==
===Creating or Modifying a Rule Set===
# Go to '''Designer > Case Types > {case type} > Rule Sets'''
# Click '''[New Rule Set]''', or visit an existing one
# Fill in the Rule Set properties, below
# Click '''[Save]'''
====Rule Set Properties====
:* '''Title -''' The title you'll see when referencing the Rule Set in the {{HD}} interface. 
:* '''Name -''' The name used by programmers. A default version of the name is created from the title, but it can be edited, if desired.
:* '''Enabled -''' Whether or not the Rule Set is currently in force. (Disable a Rule Set to temporarily deactivate it, without deleting it.)
:* '''Use for Inbound Emails -''' The rules will operate on incoming email messages. (Email fields like <tt>To</tt> and <tt>Subject</tt> will be available for processing.)
::: ''Learn more:'' [[Email to Case]]
:* '''Return Type -''' If the Rule Set will return a value, specify the type of value -- Boolean (true/false), Number, String, Date, a User/Role, or None.
:* '''Description -''' Write a descriptive summary here.
====Rule Set Example====
Here's a sample Rule Set that is intended to determine the owner for a case:
:[[File:RuleSetExample.png]]
<noinclude>
<noinclude>


[[Category:{{HD}}]]
[[Category:{{HD}}]]
</noinclude>
</noinclude>

Revision as of 02:04, 13 December 2012

A Rule is an if-then statement that says, if one or more conditions are met, then take one or more specified actions. A Rule Set is a collection of such rules.

About Rules, Rule Sets, and Rule Chaining

The ServiceDesk interface makes it easy to define rules by selecting fields and specifying matching criteria. When satisfied, the criteria causes any and all actions associated with the Rule to be carried out.

Rules can be defined in named Rule Sets, or they can be part of an unnamed set (a "Rule List") defined for for Event Based Rules, Timer Rules, and Scheduled Rules.

Each Rule can carry out one or more actions. One of those actions is to execute another Rule Set, which causes the Rules to chain. When Rules chain, the processing of the current Rule Set stops until the chained Rule Set finishes. The processing of the original Rule Set then resumes where it left off. (Chaining can go to arbitrary depth.)

Working with Rules

Creating or Modifying a Rule

Once a Rule Set is created, you can add Rules to it.

  1. Go to Designer > Case Types > {case type} > Rule Sets
  2. Click [New Rule Set], or visit an existing one
  3. Click [New Rule]
  4. Define the Rule, as shown below
  5. Click [Save]

Basic Information

  • Name - The name of the Rule, displayed in the ServiceDesk interface.
  • Enabled - Whether or not the Rule is enabled. (Disable the rule to deactivate it without deleting it.)
  • Description - A descriptive summary
  • On Success - Whether toStop processing other rules in the Rule Set, when these Rule conditions are satisfied, or whether to Continue processing other Rules.

Execution Criteria

  • Unconditionally (Always)
Use this option for actions that should action whenever the Rule is invoked
  • When Specified Conditions are True
Use this option to specify a series conditions that determine whether the Rule's actions are carried out.
  • All of the Conditions are met - Every condition in this category must be satisfied
  • Any of the Conditions are met - At least one of the conditions in this category must be satisfied.
For example, here is a sample Rule that checks for a variety of conditions, to show the kinds of possibilities that exist:
File:RuleCondition.png
  • When Specified Expression is True
More complex conditions can be specified using the Expression Builder. For example, here is an expression that checks for either P1 or P2 priority on a new case:
File:RuleExpression.png

Actions to Perform

  1. Select the Action to perform when the Rule conditions are satisfied.
    File:RuleActions.png
  2. As with conditions, additional options appear, depending on the action you select.
    RuleActionOptions.png
  3. Click [Add More] to specify additional actions.
    RuleActionsAddMore.png
Rule Actions

Each Rule can carry out one or more of these actions:

  • Set Priority - Change the priority of a case, for example from "P2" to "P1"
  • Set Status - Change the status of a Case--for example, to mark it as closed
  • Update Record - Make a change to the Case record
  • Assign to User - Determine the new owner of the Case record
  • Assign to Team - Determine the group it goes to, so members of the group can claim it
  • Send Email - Send a message, optionally using an Email Template
  • Post Message in Relay - Deliver a message to a social-networking Relay feed
  • Start Activity - Automatically initiate an activity associated with a Case Process
  • Change Activity Status - Set the status of the activity.
  • Execute Rule Set - Chain to a different Rule Set, and execute those Rules
  • Invoke Method - Invoke a method in a Java Class

Working with Rule Sets

Creating or Modifying a Rule Set

  1. Go to Designer > Case Types > {case type} > Rule Sets
  2. Click [New Rule Set], or visit an existing one
  3. Fill in the Rule Set properties, below
  4. Click [Save]

Rule Set Properties

  • Title - The title you'll see when referencing the Rule Set in the ServiceDesk interface.
  • Name - The name used by programmers. A default version of the name is created from the title, but it can be edited, if desired.
  • Enabled - Whether or not the Rule Set is currently in force. (Disable a Rule Set to temporarily deactivate it, without deleting it.)
  • Use for Inbound Emails - The rules will operate on incoming email messages. (Email fields like To and Subject will be available for processing.)
Learn more: Email to Case
  • Return Type - If the Rule Set will return a value, specify the type of value -- Boolean (true/false), Number, String, Date, a User/Role, or None.
  • Description - Write a descriptive summary here.

Rule Set Example

Here's a sample Rule Set that is intended to determine the owner for a case:

File:RuleSetExample.png