This documentation supports an earlier version of BMC Helix Operations Management.

To view the documentation for the latest version, select 23.3 from the Product version picker.

Return functions

Return functions are also known as non-void functions and return a value. Return functions are further classified into the following categories:

  • String functions

  • List functions

  • Number functions

For functions that have arguments of the String type, in the argument value, you can add a line break to move content to a new line by using the <br> tag. You can also use the <br> tag as a separator to separate text strings.

For an Enrich action, the functions list displays function based on the data type of the slot that you enrich as shown:

Data type of slotsReturn functions available

String

Displays functions that return either a String, Number, or Boolean value.

List of stringDisplays functions that return a List of string value.
NumberDisplays functions that return a Number value.
For an Enrich or Variable action, the function parameters display slots and global variables based on the data type of the function parameter as shown:
Data type of parametersSlots available

String

Displays slots and global variables that have either the String, Number, or Boolean data types.

List of stringDisplays slots and global variables that have the List of String data type.
NumberDisplays slots and global variables that have the Number data type.

Tip

In the following functions, in the Text String field, you can do one of the following:

  • Specify raw text
  • Select a slot
  • Select an already defined variable.
    The variable needs to be already defined in the policy workflow, before the action under which you are adding the function.


String functions

These functions are used for string manipulation operations such as concatenating strings, replacing strings, and so on. These functions use slots or variables with a string value.

Concat

Concatenates two text strings to return a new string.

Input

InputTypeDescription
Text String 1String

A single text string, slot (with a string value) or variable (with a string value) that you want to join.

Enclose values that contain blank spaces or other special characters in double quotation marks.

Maximum limit is 1024 characters. 

Text String 2String

A single text string, slot (with a string value) or variable (with a string value) that you want to join to the earlier string value.

Enclose values that contain blank spaces or other special characters in double quotation marks.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Result of concatenating the specified stringsString

Example

Input 1= CPU utilization

Input 2=[CPU utilization,CPU utilization for the host is rapidly increasing,CPU utilization is growing]

Output=CPU utilization[CPU utilization,CPU utilization for the host is rapidly increasing,CPU utilization is growing]


ConcatList

Concatenates a list of comma-separated strings using the given separator and returns a new string.

Input

InputTypeDescription
Text StringList of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values), that you want to join.

You can specify a combination of text strings, slots with string values, and variables with string values.

Enclose the list in square brackets and enclose values that contain blank spaces or other special characters in double quotes. 

Maximum limit is 1024 characters. 

SeparatorString

Alphanumeric or special character(s) by which you want to separate the new string.

Providing the separator is optional.

Important

Use two backslashes (\\) as the separator instead of a single backslash (\) because it might cause a policy failure.

Expected output

Expected outputType
Concatenated string by combining the specified comma-separated list of stringsString

Example

Input 1= [tagName1,tagName2,tagName3]

Input 2= -

Output=tagName1-tagName2-tagName3


Contains

Detects whether a text string contains a substring. 

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value)in which you want to search.

Search is case insensitive.

Maximum limit is 1024 characters. 

Find SubstringString

Substring that you want to find in the text string.

Returns true if the substring is found, otherwise returns false.

Expected output

Expected outputType
Indicates whether the substring is present in the specified string.Boolean

Example

Input 1=v1v4v5v6

Input 2=v4

Output=true


CurrentFormattedTimeStamp

Returns the current timestamp with the date in the specified date format and the time zone in UTC. Use this function to enrich slots that have the string data type.

Important

Make sure that you enrich slots that have String as the data type because the function returns a formatted text value for the current timestamp.

Input

InputTypeDescription
Date FormatString

Specify a date format as a string in which you want to retrieve the current timestamp.

This function supports the standard date formats. Refer to the following table for a few date format examples:

Date formatDescriptionExample
EEE, MMM d, "yy

E: Day name in a week

M: Month in a year

d: Day in a month

y: Year
Sun, May 15, ’22
h:mm a

h: Hour in AM or PM in the 12-hour format

m: Minute in an hour

a: AM or PM indicator
12:15 PM
hh 'o"clock'a, zzzz

h: Hour in AM or PM in the 12-hour format

a: AM or PM indicator

z: Time zone
12 o'clock PM, Pacific Daylight Time

Expected output

Expected outputType
Timestamp in the specified date format and the UTC time zoneString

Example

Input =EEE, MMM d,  “yy

Output=Wed, Dec 29, '21

To read a use case for this function, see Example: Retrieve the timestamp as a date format.


GetPosition

Returns the position of the first character of the first occurred substring, reading left to right.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value)in which you want to find the substring.

Maximum limit is 1024 characters. 

Find SubstringString

Substring that you want to find in the text string.

Returns 0 if the substring is not found.

Expected output

Expected outputType
Position of the specified substringInteger

Example

Input 1=GetPosition v3 cool

Input 2=cool

Output=16


GetPositionOnOccurrences

If the substring occurred for the given number of times, this function returns the position of the first character of the final substring based on the number of occurrences specified, reading left to right. 

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value) in which you want to find the substring.

Maximum limit is 1024 characters. 

Find SubstringString

Substring that you want to find in the text string.

Returns 0 if the substring is not found.

Number of OccurrencesInteger

Number of occurrences of the substring that you want to find.

Returns 0 if the specified number is not found.

Expected output

Expected outputType
Position of the specified substring based on occurrencesInteger

Example

Input 1=city reno is called reno

Input 2=reno

Input 3=2

Output=21


IsActiveTimeFrame

Returns the status of the time frame based on whether it is currently active. You can perform conditional event enrichment based on the status of the time frame.

Input

InputTypeDescription
Time Frame NameString

Specify single or multiple time frames in a tenant to check whether the time frame is active.
If you specify multiple time frames and if any one of the time frames is active, the time frame status is returned as true.

Expected output

Expected outputType
Status of the time frame Boolean

To read a use case for this function, see Example: Assign event owner according to the time frame status.


MatchRegex

Matches a text string with a simple regular expression.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value)to use for matching.

Maximum limit is 1024 characters. 

Regex PatternStringRegular expression pattern to match with the text string.

Expected output

Expected outputType
Indicates whether the string matches the regular expressionBoolean

Example

Input 1=aaabbb

Input 2=a*b*

Output=true


Replace

Replaces part of a text string with another string.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value)in which you want to replace a substring.

Maximum limit is 1024 characters. 

Existing SubstringString

Existing substring that you want to replace in the text string.

New SubstringStringNew substring with which you want to replace the existing substring.

Expected output

Expected outputType
New string created as a result of the replacementString

Example

Input 1= CPU Utilization

Input 2=CPU

Input 3=Memory

Output=Memory Utilization


Split

Splits a text string into a list of substrings based on the separator occurring in the string.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value) that you want to split.

Maximum limit is 1024 characters. 

SeparatorString

Separator character(s) in the text string at which you want to split the string.

The separator character(s) are not included in the resulting value.

Important

Use two backslashes (\\) as the separator instead of a single backslash (\) because it might cause a policy failure.

Expected output

Expected outputType
List of substrings divided by the specified separatorString

Example

Input 1= CPU Utilization

Input 2=" " 

Output=[CPU, Utilization]


StringLength

Returns the number of characters in a text string.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value) whose length you want to find.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
String length (in characters)Integer

Example

Input 1=CPU Utilization

Output= 15


StringMatch

Matches character patterns in a text string and extracts fields from it. The pattern can contain literal text and substitutes.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value) to use for matching.

Maximum limit is 1024 characters. 

Match PatternString

Pattern to match the string.

The pattern can contain literal text and substitutes. Literal text is matched literally. A substitute is preceded by a % sign, followed by a type indicator.

The values corresponding to the substitutes are extracted as fields.

Valid values for substitutes:

  • %%: literal match of %
  • %d: decimal integer number
  • %f: floating point real number
  • %c: single character
  • %s: string value

Notes:

  • Two substitutes cannot occur without literal text in between them.

  • The portion of the input that matches the substitute of %s depends on the pattern following the substitute:
    • a literal: input up to the first literal.
    • a space and a literal: input up to the space followed by the literal.
    • a space and a substitute: input up to the first space.

Expected output

Expected outputType
Retrieved fieldsList of string

Example

Input 1=CPU Utilization is 80

Input 2=CPU Utilization %s %d

Output=[is,80]


StringToInteger

Converts a text string that represents a number to an integer value. 

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value) that you want to convert.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Conversion result, returned as an integerInteger

Example

Input 1=20

Output=20


StringToReal

Converts a text string that represents a real number to a real number. 

Input

InputTypeDescription
Text StringString

Text string or reference to a slot or variable (with a real number value) that you want to convert.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Conversion result, returned as a real valueReal

Example

Input 1=10.2

Output=10.2


Strip

Removes leading and trailing blank spaces from a text string.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value)from which you want spaces removed.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Resulting string after the blank spaces are removedString

Example

Input 1=space " (provided without the double quotes)

Output=space


Substring

Returns part of a text string based on the given starting position and length.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value)from which you want to extract the substring.

Maximum limit is 1024 characters. 

Start PositionInteger

Position of the character from where you want to begin extraction.

The first character in the text string starts at 1.

LengthIntegerNumber of characters that you want to extract. 

Expected output

Expected outputType
Retrieved stringString

Example

Input 1=CPU Utilization is increasing

Input 2=1

Input 3=15

Output=CPU Utilization


SubstringOnPositions

Returns part of a text string between the start and end positions.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value)from which you want to extract the substring.

Maximum limit is 1024 characters. 

Start PositionInteger

Position of the character from where you want to begin extraction.

The first character in the text string starts at 1.

End PositionInteger

Position of the character where you want to end extraction.

The first character in the text string starts at 1. 

Expected output

Expected outputType
Retrieved stringString

Example

Input 1= CPU Utilization is increasing

Input 2=5

Input 3=16

Output=Utilization (includes the space character at the end)


SubstringOnStartPosition

Returns part of a text string starting from the given start position to the end of the string.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value)from which you want to extract the substring.

Maximum limit is 1024 characters. 

Start PositionInteger

Position of the character from where you want to begin extraction. The first character in the text string starts at 1.

Expected output

Expected outputType
Retrieved stringString

Example

Input 1= CPU Utilization

Input 2=5

Output=Utilization


ToBase64

Converts a text string to a Base64 value.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value), or variable (with a string value) that you want to convert to a Base64 value.

Expected output

Expected outputType
Converted Base64 valueString


To
read a use case for this function, see Example: Enrich event details with the encoded event ID.


ToFormattedTimeStamp

Converts the timestamp from an epoch value to a string value in the specified date format.

Input

Input

Type

Description

Date Format

String

Date format to which you want to convert the timestamp.

The following date formats that are available on the User Preferences page are supported:

  • dd/MM/yyyy HH:mm
  • dd/MM/yyyy h:mm a
  • MM/dd/yyyy HH:mm
  • MM/dd/yyyy h:mm a
  • dd.MM.yyyy HH:mm
  • dd.MM.yyyy h:mm a
  • yyyy/MM/dd HH:mm
  • yyyy/MM/dd h:mm a
  • yyyy-MM-dd HH:mm
  • yyyy-MM-dd h:mm a

Epoch Value

Epoch (milliseconds)

Text string, slot (with a string value), or variable (with a string value) that you want to convert to a timestamp value.

Time Zone

String

Time zone in which you want to view the timestamp.

The time zones that are available on the User Preferences page are supported.

Expected output

Expected output

Type

Formatted timestamp value. 

Important:
The formatted timestamp is returned in the English locale only.

String

Example

Input 1= yyyy-MM-dd h:mm a

Input 2= Occurred (Timestamp in milliseconds: 1681816440000)

Input 3= (GMT+05:30)Chennai, Kolkata, Mumbai, New Delhi

Output= 2023-04-18 4:44 PM


ToLowerCase

Converts all letters in a text string to lower case.

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value) that you want to convert.

Characters that are not letters are not changed.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Lower case version of the specified string.String

Example

Input 1=CPU Utilization

Output=cpu utilization


ToUpperCase

Converts all letters in a text string to upper case. 

Input

InputTypeDescription
Text StringString

Text string, slot (with a string value) or variable (with a string value) that you want to convert.

Characters that are not letters are not changed.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Upper case version of the specified stringString

Example

Input 1=CPU Utilization

Output=CPU UTILIZATION


List functions

These functions are used for list manipulation operations such as determining the list length, retrieving an element from the list, and so on. These functions use slots or variables with string values. You can specify a list by using one of the following formats:

  • [listValue1,listValue2,listValue3]
  • ["listValue1","listValue2","listValue3"]

Important

  • [] is considered as an empty list.
  • Enclose list values that contain blank spaces or other special characters in double quotation marks.

ConcatListToList

Concatenates two lists of comma-separated strings to return a new list.

Input

InputTypeDescription
List 1List of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values), that you want to join.

Maximum limit is 1024 characters. 

List 2List of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values), that you want to join to the earlier list.

You can append a string slot value to the list by specifying the list in the following format:

[$NEW.internalSlotName]

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Result of concatenating the specified listsList of string

Example 1

Input 1=[abc,def,ghi]

Input 2=[123,456,789]

Output=[abc,def,ghi,123,456,789]

Example 2

Input 1=[CPU utilization is increasing,CPU utilization is growing,CPU utilization is rising]

Input 2=[$NEW.location]

Output=[CPU utilization is increasing,CPU utilization is growing,CPU utilization is rising,Houston] (Assuming that the location slot is the event has the value "Houston")


GetNote

Returns a note present in the given position in a list of notes in the incoming event. A note is a list of strings that contain information like the timestamp, owner, and the note content.

Input

InputTypeDescription
PositionInteger

The sequence number of the note that you want to retrieve. The position starts from 1 for the oldest note.

To retrieve the most recent note, specify the position as 0.

If you specify an incorrect position, an exception message is displayed in the _errors slot for the event..

Expected output

Expected outputType
The retrieved noteList of string

Example

An incoming event has the following list of notes:

[0x17cbca212fd,admin,BASIC_ENRICHMENT,0x17cbca212fd,admin,ADVANCED_ENRICHMENT,0x17cbca212fd,admin,NOTIFICATION]

Input= 2

Output[0x17cbca212fd,admin,ADVANCED_ENRICHMENT]

To read a use case for this function, see Example: Retrieve and modify notes in incoming events.


IsDisjoint

Compares elements of two lists to verify that no common elements exist between them.

Input

InputTypeDescription
List 1List of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values) that you want to compare.

Maximum limit is 1024 characters. 

List 2List of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values) that you want to compare with the earlier list.

Maximum limit is 1024 characters. 

Returns true is no common elements exist, otherwise returns false.

Expected output

Expected outputType
Indicates that no common elements exist in the specified lists,Boolean

Example
Example 1:
  • Input 1=[123,111Input1,def,ghi]
  • Input 2=[456,789,abc]
  • Output=true (because no common elements are present in the two lists)
Example 2:
  • Input 1=[123,111,456]
  • Input 2=[456,789]
  • Output=true (because common elements are present in the two lists)


ListContains

Detects whether a list contains an element.

Input

InputTypeDescription
ListList of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values) in which you want to search.

Search is case insensitive.

Maximum limit is 1024 characters. 

Find ElementString

Element that you want to find in the list.

Returns true if the element is found, otherwise returns false.

Expected output

Expected outputType
Indicates whether the element is present in the specified list.Boolean

Example

Input 1=[v1,v2,v3,v4,v5,v6,v3,v2]

Input 2=v1

Output=true


ListGetElement

Returns the element present in the given position in a list, reading left to right.

Input

InputTypeDescription
ListList of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values) in which you want to find the element.

Maximum limit is 1024 characters. 

PositionInteger

Position of the element, reading left to right. The first element in the list starts at 1.

Expected output

Expected outputType
Element present at the specified position in the list.String

Example

Input 1=[oxford,cambridge,london]

Input 2=2

Output=cambridge


ListIntersect

Compares two lists to return the common elements between them.

Input

InputTypeDescription
ListList of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values) that you want to compare.

Maximum limit is 1024 characters. 

ListList of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values) that you want to compare with the earlier list.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Common elements present in the two listsList of string

Example

Input 1=[html,css,javascript]

Input 2=css

Output=css


ListLength

Returns the number of elements in a list.

Input

InputTypeDescription
ListList of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values), whole length you want to find.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
List length (in characters)Integer

Example

Input 1=[html,css,javascript]

Output=3


ListUnion

Returns a union of all unique values between the two lists.

Duplicate values between the two lists are repeated only once. Duplicate values within a single list are retained.

Input

InputTypeDescription
List 1List of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values), that you want to combine.

Maximum limit is 1024 characters. 

List 2List of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values), that you want to combine with the earlier list.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Union of the specified listsList of string

Example

Input 1=[bmc,ade]

Input 2=[bmc,helix]

Output=[bmc,ade,helix]


RemoveDuplicateElements

Removes duplicate elements from a list.

Input

InputTypeDescription
ListList of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values) containing duplicate elements.

Maximum limit is 1024 characters. 

Expected output

Expected outputType
Resulting list after the duplicate elements are removed.List of string

Example

Input 1=[v1,v2,v3,v4,v5,v6,v3,v2]

Output=[v1,v2,v3,v4,v5,v6]


RemoveElement

Removes all occurrences of an element from a list.

Input

InputTypeDescription
ListList of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values), from which you want to remove an element.

Maximum limit is 1024 characters. 

Remove ElementStringElement that you want to remove from the list. 

Expected output

Expected outputType
Resulting list after the specified element is removed.List of string

Example

Input 1=[abc,def,ghi,jkl,mnp]

Input 2=def

Output=[abc,ghi,jkl,mnp]


RemoveElementList

Removes a list of elements from a list.

Input

InputTypeDescription
ListList of string

Comma-separated list of only text strings, only slots (with string values), or only variables (with string values), from which you want to remove elements.

Maximum limit is 1024 characters. 

Remove Element ListList of stringComma-separated list of elements occurring in the list that you want to remove. 

Expected output

Expected outputType
Resulting list after the specified list is removed.List of string

Example

Input 1=[v1,v2,v3,v4,v5,v6]

Input 2=[v2,v3]

Output=[v1,v4,v5,v6]


Number functions

These functions are used for integer manipulation operations such as integer addition, subtraction, and so on.

CurrentTimeStamp

Returns the current timestamp in epoch (milliseconds). This function does not require any input parameter. Use this function to enrich slots having the number data type.

Important

Make sure that you enrich slots that have Number as the data type because the function returns the current timestamp value in milliseconds.

Expected output

Expected outputType
Timestamp value in millisecondsNumber
For example, if the current data and time is Wednesday, December 29, 2021 12:03:42 PM GMT+05:30, then the function returns the timestamp as 1640759622000 milliseconds.

To read a use case for this function, see Example: Check whether there is a time delay between events.


Math

Performs basic mathematical operations on two numbers and returns the result. 

Input

InputTypeDescription
OperatorString

Arithmetic operator to use for the calculation.

Valid values are: +,-,*, /

Number 1Integer

First number to use for the calculation.

Number 2IntegerSecond number to use for the calculation.

Expected output

Expected outputType
Resulting value of the mathematical operation performed.Integer

Example

Input 1=+

Input 2=5

Input 3=7

Output=12


Was this page helpful? Yes No Submitting... Thank you

Comments