Creating a Universal Template

Creating a Universal Template

Overview

This page tells you how to create a Universal Template, Universal Template Fields, Universal Template Field Choices, and Universal Template Event Templates.

You must create Universal Templates in order to create Integrations. For each Universal Template that you create, Universal Controller creates a Universal Task type for which you can create one or more Universal Tasks.

Each Universal Field that you create for a Universal Template becomes a field in every Universal Task based on the corresponding Universal Task type.

If the Universal Template Field that you create is a Choice (drop-down list) field, you must create the choices.

If the Universal Template Template Type is Extension, you can create Event Templates for the Universal Template .

For detailed information on Universal Templates and Fields, see Universal Templates Overview.

Creating a Universal Template

Step 1

From the Administration navigation pane, select Configuration > Universal Templates. The Universal Templates list displays.

Note

The System Template column. which does not display by default, identifies any Built-In Universal Templates that have been loaded from the List/Load Built-In Universal Templates server operation.

 
To the right of the list, Universal Template Details for a new Universal Template displays.
 

Step 2

Enter / select Details for a new Universal Template, using the field descriptions below as a guide.

  • Required fields display an asterisk ( * ) after the field name.

  • Default values for fields, if available, display automatically.

To display more of the Details fields on the screen, you can either:

  • Use the scroll bar.

  • Temporarily hide the list above the Details.

  • Click the New button above the list to display a pop-up version of the Details.

Step 3

Click a Save button. The template is added to the database, and all buttons and tabs in the Universal Template Details are enabled.

Note

To open an existing record on the list, either:

  • Click a record in the list to display its record Details below the list. (To clear record Details below the list, click the New button that displays above and below the Details.)

  • Clicking the Details icon next to a record name in the list, or right-click a record in the list and then click Open in the Action menu that displays, to display a pop-up version of the record Details.

  • Right-click a record in the a list, or open a record and right-click in the record Details, and then click Open In Tab in the Action menu that displays, to display the record Details under a new tab on the record list page (see Record Details as Tabs).

Universal Template Details

The following Universal Template Details is for a new Universal Template, which does not yet contain any user-defined Fields. (See Creating Universal Template Fields for an existing Universal Template Details containing user-defined fields.)

Depending on the values that you enter / select for these fields, more (or less) other fields may display. See the field descriptions, below, for a description of all fields that may display in the Universal Template Details.
 

 

For information on how to access additional details - such as Metadata and complete database Details - for Universal Templates (or any type of record), see Records.

Universal Template Details Field Descriptions

The following table describes the fields, buttons, and tabs that display in the Universal Template Details.
 

Field Name

Description

Field Name

Description

General

This section contains general information about the template.

Name

Name of this Universal Template.

Extension

If Template Type is Extension; Python Extension name.

Description

Description of this record. Maximum length is 255 characters.

Variable Prefix

Variable prefix to append to the default prefix (ops_) for the system-assigned variables that are provided for the user-defined Fields in this Universal Template. The format of a system-assigned variable is: ops_, followed by the specified Variable Prefix, followed by the underscore character _, followed by the Name (not the Label) of the user-defined Field. For example: ops_oebs_username.
 
System-assigned variables are meant to be incorporated into the Script specified for the Universal Template. All system-assigned variables embedded in a Universal Template Script will be resolved when the Universal Task created from the template executes the Script.

Icon

Icon used for all Universal Tasks based on this Universal Template. The icon displays in the following locations:

A default icon displays in the Icon field for every Universal Template (see Universal Template Details, above).
 
If you want to select a custom icon, click the Browse button and then search and select that icon. Any custom icon must be a PNG image, 48 x 48 pixels.
 

Note

The button that lets you search for an icon file, and the text message alongside it, is browser-dependent. In this example, which shows a Browse... button and No file selected. text, the browser was Firefox.

 
After you select a custom icon, the file name for that icon displays next to the Browse button. When you save / update the Universal Template, the icon displays in the Icon field, but the file name no longer displays.
 
If you selected a custom icon but want to restore the default icon, right-click anywhere in the Universal Template Details and, in the Action menu, click Restore Default Icon.

Log Level

If Template Type is Extension; Log Level for Universal Extension logging. Specify Inherited to inherit the Agent Log Level setting

Universal Template Details

This section contains assorted detailed information about the template.

Template Type

Type of Universal Template.

Options:

  • Script
    Universal Template will be executed as a Script.

  • Extension
    Universal Template will be executed through the Universal Extension framework.

Send Extension Variables

If Template Type is Extension; Specification for whether the Extension should be provided with task instance variable data when launched.

Options:

  • None
    Do not provide the Extension with task instance variable data.

  • Local
    Provide the Extension with task instance variable data.

Agent Type

Type of Agent on which Universal Tasks based on this template can be run.
 
Options:

  • Any

  • Linux/Unix

  • Windows

Always Cancel On Force Finish

Specification for whether or not to always perform a Cancel when Force Finishing a Universal Task for this template.

Use Common Script

If Template Type is Script and  Agent Type is Any; Indication that the specified Script can be executed by both Linux/Unix and Windows Agents.

Script

If Use Common Script is enabled; Script to be executed by the specified Agent.

Linux/Unix Script

If Template Type is Script and Agent Type is Linux/Unix or Any (and Use Common Script is not enabled); Script to be executed by the Linux/Unix Agent.

Windows Script

If Template Type is Script and Agent Type is Windows or Any (and Use Common Script is not enabled); Script to be executed by the Windows Agent.

Windows Script File Type

If Template Type is Script and Agent Type is Windows or Any; Type of Windows script to be executed by the Windows Agent.
 
Options:

  • bat

  • cmd

  • js

  • ps1

  • py

  • uapy

  • vbs

  • wsf

  • Other... (any user-specified script file type)

Agent Defaults

This section contains Agent default fields that will display for every Universal Task based on this template.

Cluster

Indication that selecting an Agent Cluster is required and selecting Broadcast, which lets you select a Cluster Broadcast, is optional.  If Cluster is selected, selecting an Agent is not required unless Agent Variable is selected.

Broadcast

Displays only if Cluster is selected; Indication that selecting a Cluster Broadcast is required. Selecting Broadcast hides the Agent and Agent Cluster fields; you cannot select values for them.

Agent

Name of the Agent resource that identifies the machine where the operation will run.

Agent Cluster


Group of Agents, one of which the Controller will choose to run this task (compare with Cluster Broadcast). You can specify an agent cluster in addition to or in place of a specific Agent. If you specify an Agent and an agent cluster, the Controller first tries to run the task on the specific agent. If the Agent is not available, the Controller reverts to the agent cluster. See Agent Clusters for more information.

Agent Variable

Indication of whether the Agent field is a reference field for selecting a specific Agent (unchecked) or a text field for specifying the Agent as a variable (checked). Use the format: ${variable name}. The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using an Agent reference to using an Agent variable, you must change the Agent Variable field to Yes and specify the Agent variable in the Agent Unresolved field. Conversely, to change from using an Agent variable to using an Agent reference, you must change the Agent Variable field to No and specify the Agent reference in the Agent field.

Agent Cluster Variable

Indication of whether the Agent Cluster field is a reference field for selecting a specific Agent Cluster (unchecked) or a text field for specifying the Agent Cluster as a variable (checked). Use the format: ${variable name}.

The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using an Agent Cluster reference to using an Agent Cluster variable, you must change the Agent Cluster Variable field to Yes and specify the Agent Cluster variable in the Agent Cluster Unresolved field. Conversely, to change from using an Agent Cluster variable to using an Agent Cluster reference, you must change the Agent Cluster Variable field to No and specify the Agent Cluster reference in the Agent Cluster field.

Credentials


Credentials under which an Agent runs this task. These Credentials override any Credentials provided in the Agent Details for any Agent running this task.

If the user does not have a login shell, add a - character in front of the runtime credentials name. The Controller will provide a shell for that user and strip the - character from the name.


Credentials Variable

Indication of whether the Credentials field is a reference field for selecting a specific Credential (unchecked) or a text field for specifying the Credential as a variable (checked). Use the format: ${variable name}.

The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using a Credentials reference to using a Credentials variable, you must change the Credentials Variable field to Yes and specify the Credentials variable in the Credentials Unresolved field. Conversely, to change from using a Credentials variable to using a Credentials reference, you must change the Credentials Variable field to No and specify the Credentials reference in the Credentials field.

Cluster Broadcast

Cluster Broadcast Variable

Run with Highest Privileges

If Agent Type is Windows or Any; Execute the task using an elevated privileges token, rather than one subject to User Account Control (UAC) restrictions. An elevated token allows a process to execute with all the privileges available to its specified credentials. For example, a task executed with an administrative account will behave as though it received permission via a UAC dialog to perform a privileged operation.
 
This option will not give a user account privileges that have are not already granted to it. For example, taking ownership of a file is a privileged operation by default. A task will still fail even with this option selected if it is run with a regular user account that has not been granted the ability to change file ownership.
 

Note

This option only will affect tasks executed on Windows systems that support User Account Control (UAC). It will have no affect on tasks run on Windows releases prior to Vista (for example, Windows XP, Server 2003).

Template Defaults

This section contains template-specific default fields that will display for every Universal Task based on this template.

Runtime Directory

Environment Variables

Result Processing Defaults

This section contains assorted detailed information about result processing defaults for this task.

Exit Code Processing

Output Type

Content Type

If Output Type is Extension; Output type that the Result Processing mechanism should assume when evaluating the output.

If the expected output is XML or JSON, it is valid to specify Text. However, when specifying XML or JSON, the output must be XML or JSON respectively; otherwise, the parsing will fail and the path expression evaluation will return no matches.

Path Expression

XPath Expression if Content Type is XML, or the JsonPath Expression if Content Type is JSON, to be used when evaluating the Extension output.

Operator

If Output Type is Extension; Condition Operator to evaluate in combination with the specified condition Value.

Value

If Output Type is Extension; Condition Value to evaluate in combination with the specified condition Operator.

Strategy

If Content Type is XML or JSON; Strategy to take when applying the condition Operator and Value against the Path Expression matches when Content Type is XML or JSON.

Auto Cleanup

Enables the auto cleanup of Extension output upon task instance completion or, if the task instance is within a workflow, when the top level workflow instance completes.

Scan Output For

Output File (for Exit Code Processing)

Exit Codes

Automatic Output Retrieval

Wait For Output

Failure Only

Start Line

Number of Lines

Scan Text

Output File (for Automatic Output Retrieval)

Field Restrictions

This section lets you specify how fields in the Defaults section of the Universal Template are displayed in Universal Tasks based on the template.
 
The Field Restrictions section places the fields in the Default section into five groups, as shown below: Agent, Credential, Environment Variables, Exit Code Processing, Automatic Output Retrieval. All fields in a field group share the same restriction.
 
The Restriction options are the same for each field group:

  • No Restriction
    No restrictions apply to any fields in this group. {This is the default selection for all field groups.)

  • Read Only
    All fields in the field group display as Read Only in the Universal Task.

  • Hidden
    All fields in the field group are hidden in the Universal Task.

Agent Fields

Restriction for the following Agent fields: Agent, Agent Variable, Agent Cluster, Agent Cluster Variable, and Cluster Broadcast.

Credential Fields

Restriction for the following Credential fields: Credentials, Credentials Variable, Run with Highest Privileges, and Runtime Directory.

Environment Variables Fields

Restriction for the following Environment Variable field: Environment Variables.

Exit Code Processing Fields

Restriction for the following Exit Code Processing fields: Exit Code Processing, Exit Codes, Output Type, Scan Output for, and Output File.

Automatic Output Retrieval Fields

Restriction for the following Automatic Output Retrieval Fields: Automatic Output Retrieval, Wait For Output, Failure Only, Start Line, Number of Lines, Scan Text, and Automatic Output File.

Metadata

This section contains Metadata information about this record.

UUID

Universally Unique Identifier of this record.

Updated By

Name of the user that last updated this record.

Updated

Date and time that this record was last updated.

Created By

Name of the user that created this record.

Created

Date and time that this record was created.

Extension Checksum

SHA-256 checksum for the Python Extension Archive.

Extension Version

Version of the Extension.

Extension API Level

API level that the Extension is compatible with.

Extension Requires Python

Python version(s) that the Python Extension Archive is guaranteed to be compatible with.

Extension Python Extra Paths

List of paths to add to the search path for Python modules.

Extension Owner

Author of the Extension.

Extension Organization

Organization of the Author.

Extension Comments

(Any comments about the Extension.)

Buttons

This section identifies the buttons displayed above and below the Universal Template Details that let you perform various actions.

Save

Saves a new Universal Template record in the Controller database.

Save & New

Saves a new Universal Template record in the Controller database and redisplays empty Details so that you can create another Universal Template.

Save & View

Saves a new Universal Template record in the Controller database and continues to display that record.

New

Displays empty (except for default values) Details for creating a new record.

Update

Updates the Universal Template record in the Controller database.

Delete

Delete the currently open Universal Template.

Refresh

Refreshes any dynamic data displayed in the Universal Template Details.

Close

For pop-up view only; closes the pop-up view of this Universal Template.

Tabs

This section identifies the tabs across the top of the Universal Template Details that provide access to additional information about the template.