/
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 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

General

This section contains general information about the template.

Name

Name of this Universal Template.

ExtensionIf 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 LevelIf 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

Group of Agents, all of which will run this task (compare with Agent Cluster). If Broadcast is selected for a task, you must select a Cluster Broadcast instead of a specific Agent and/or agent cluster. Each instance of the task running on its own Agent becomes a separate task instance record in the database and displays separately on the Activity Monitor.

Cluster Broadcast Variable

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

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

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