Rule Parsing
Directives are case insensitive.
Conditional statements are case insensitive.
VALUE_IDENTIFIERS are case sensitive, and generally expected to be uppercase.
Values are generally display titles, and are case sensitive. A reverse lookup is done on the value to determine itβs internal value if it a lookup type (list, popup, etc.). An exception is for user fields, which are assumed to be ExtraView User Ids, and are case insensitive.
Implied Assignments
When a field name is used in an ADD
, ADD_ROW
, COPY
or UPDATE
action with an equal sign and a field name on the right-hand side of the statement, it implies that you want the value of the field from the current issue to be used to assign to the add, copy or update value. This is simply a shorthand convention to save time when developing your rules:
SERIAL_NUMBER
β
is equivalent to using:
SERIAL_NUMER = SERIAL_NUMBER
Recursion
Programmers will be familiar with the topic of recursion. With rules, it is possible to write a rule that causes an update to happen, and when an associated rule fires, it causes the same or a different rule to fire that then causes another update to occur. This can happen in a repeatable cycle with no way for ExtraView to recognize that this is happening. The rules may continue firing on the server with no indication to the user that an endless cycle has started. For this reason, your rules should be examined carefully, especially those which add or update issues with the postupdate directive. If you accidentally set an infinite loop running, you should immediately restart the application server and then change your rule to prevent this happening again.