Working with Packs and Plug-ins
As an Administrator, you can install Packs and Plug-ins to enhance the CDA functionality and allow integrations with third-party products. Packs and Plug-ins integrated into AWI can be managed from the user interface (by using the Plugin Manager plug-in) or via the Package Manager CLI. To know how to manage CDA plug-ins for third-party products see: Working with CDA Plug-ins for third-party products
This page includes the following:
About Packs and Plug-ins
What are Packs?
The currently supported Plug-ins are known as Packs. These Plug-ins consist of Automation Engine objects and may include CDA-specific objects.
What are Action Packs?
Action Packs are outbound integrations with third-party products such as Amazon S3, Docker and Tomcat for automation purposes. They group actions that are related to each other (for example, Windows File System Actions)
Pack Folder Structure
- <PACKAGE_NAME>
Top-level folder containing all Action Pack content.
-
ACTIONS
An Action contains workflows for the Pack that has been created (or a link to the referenced workflow).
-
CONFIG
Contains static VARA objects or other objects used to store the configuration.
-
DOCUMENTATION
Documentation objects containing license and pack documentation.
-
RESOURCES
Pack resources that are used across multiple Actions.
-
INTERPRETERS
Storage object containing binaries of external interpreters.
- LIBS
Storage object containing binaries such as Java jar files or compiled libraries.
- SCRIPTS
Storage objects containing external, interpreted scripts.
- SOURCE
Contains the internals for each Action such as sub-workflows, jobs, scripts objects, VARA objects and so on.
- TEMPLATES
Contains template workflows, which are registered in the UC_OBJECT_TEMPLATE. Actions from other Packs the current Pack is dependent on can also be incorporated into this Folder.
ARA Application Pack
You can create an Application Pack out of an existing Application and export/import the Pack via Plugin Manager/Package Manager or, alternatively, via a code editor integrated with GIT and the REST client. See: Working with CDA Entities as Code.
When you create an Application Pack, the serialized content of the CDA Applications and its related components is stored in the ARA.APPLICATIONS folder of the Process Assembly perspective. The Application Packs are stored under PACKAGES in the same view. The CDA content (Application, Components...) is saved in a storage object of the Application Pack.
For more information, see. Creating Application Packs
Packs can be accessed:
-
From the Administration perspective by clicking the Packs tab at the bottom of the Navigation pane.
-
From the Process Assembly Explorer.
-
Via CLI (Package Manager):
-
Update the Package Manager index to fetch new and changed packages from the local repository:
apm update
-
Search for a Pack in the local repository:
apm search [<any part of package name>]
Example
apm search Siebel
Notes:
- If
[<any part of package name>]
is not specified, all available packages are displayed. - To get a full list of installed Packs, enter the following command:
apm list
.
- If
-
- Additionally, you can see the Application Pack created from an Application in the Properties view of the Application.
Installing, Upgrading and Importing Packs
The predefined Action Packs that let you incorporate different actions into release workflows are available at https://marketplace.automic.com/.
Important! An imported Application Pack is only compatible with the exact same version of the Action Packs used in the origin system.
To Install a Pack (GUI)
On the Administration perspective, go to Packs and select Install Pack. Press the Upload button, navigate to the location where you have downloaded the Pack and follow the instructions of the wizard.
After the installation is complete, the new Action Pack can be found in the PACKAGES folder of the Process Assembly perspective.
Notes:
- To upgrade an installed Pack to a newer version, the same procedure can be used. The system will automatically detect the former version and prompt you to upgrade it.
- Post-fixes are also allowed in the package format schema integer.integer.integer+(chars|integer)(.(chars|integer)*) in order to support semantic versioning.
Some Packs may contain AWI plug-ins, which are installed together with the Pack. To check if the Plug-in has been registered correctly do one of the following:
-
Check the logs of the pack installation:
-
Log out and log back into AWI, select the arrow in the user and session information area (top-right corner) and select About:
Application Pack Installation
After installing an Application Pack, the new Application and its related entities will be available in the Release Automation perspective.
Note:
- Dependencies on the custom type versions installed by Action Packs and used by the Application are also included in the Application Pack.
- The Application you want to create an Application Pack from may use custom types and custom type versions which do not belong to any Action Pack. In this case, the corresponding custom types will be included in the Pack and installed on the target system while importing the Application.
- Custom types on the target system with the same name and version number as the custom types included in the Pack are not overwritten and are used by the imported Application.
- The new custom type version that is imported into the target system will be in state "IN USE". See: Quick Actions.
- The custom type version with status "ACTIVE" is not changed on the target system. That is, every new Component that is created after installing an Action Pack will use the active custom type version (and not necessarily the new version imported with the Application Pack).
- Creating an Application Pack may take a while. The process runs in the background. You are notified when the process is complete.
- Non-existing Application Pack folders are created automatically on the target system by the background user.
- If the owner of the entity does not exist on the target system, the admin user is used instead. If an admin user is not available, the sync fails.
- Application Packs can only be replaced with a higher version of the same Application Pack. If you want to install a lower version, you must remove the current Application Pack first.
- If an Application does not have an Application Pack version and you install an Application Pack of this Application (created in another instance), the existing data will be replaced by the data in the Application Pack.
To Install a Pack (CLI)
Use the following command to install a Pack:
apm install <pack name> -pw <password>
Alternatively, you can install a Pack from a file:
apm install --from-file <path to the pack archive or directory> -pw <password>
-u user/department
Notes:
- If you want to avoid installing dependent Packs, set the flag to ignore pack dependencies.
- The password is never read from
login_dat.xml
. You must use the parameter-pw <password>
. - Multiple Packs can be installed by leaving a blank space between the names.
Examples
Single Pack installation:
apm install --from-file C:\Pack.Bond_PCK.AUTOMIC_BOND_1_0_0+build.164.zip -pw aepwd -u ADM/ADMINISTRATORS
Multiple Pack installation:
apm install PCK.AUTOMIC_HTTP PCK.AUTOMIC_FTP -H automicdev -S AUTOMIC -p 1234 -c 123 -u AUTOMIC/AUTOMIC -pw aepwd
Important! The installation of a Pack may be restricted to a limited number of clients. You can use the option -c <number>
to change the target client of the installation or enter the following command to bypass the client check: --ignore-client-restriction
.
To Upgrade a Pack (CLI)
Use the following commands to upgrade Packs:
Command for updating the Pack index (to be run only once):
-
Updating the Pack index (to be run only once)
apm update
-
Upgrading a Pack
apm upgrade <pack name>
-pw <password>
Alternatively, you can upgrade a Pack from a file:
apm upgrade --from-file <path to the package archive or directory>
-pw <password>
-u user/departmentExample
Upgrading the Tomcat Pack:
apm upgrade PCK.AUTOMIC_TOMCAT -pw aepwd
Important! Upgrading a Pack may be restricted to a reduced number of clients. You can use the option -c <number>
to change the target client of the upgrade or enter the following command to bypass the client check: --ignore-client-restriction
.
When updating a Pack , be aware of the following:
- All Actions within the Pack will be updated
- All Templates within the Pack will be updated
- Configuration object templates within the Pack will be updated but instances of configuration object templates will not be updated
- Instances of Templates will not be updated – but the referenced Actions within the Pack will be updated
- Custom actions will not be updated
- Artifacts in the Pack folder will be removed
Before creating an Action Pack, the following should be defined:
- Purpose of the Action Pack
- What kind of technology will be used.
- What Actions will be needed and what parameters are necessary for running the Actions.
- What variables will be needed.
The following graphic depicts the typical workflow when creating an Action Pack:
To Create an Action Pack
- Under the Process Assembly perspective, click the Action Packs accordion tab in the sidebar.
- Select Create Action Pack. The New Action Pack dialog is displayed.
- Enter a title for the Action Pack. The name for the Action Pack is suggested automatically. The name consists of the following parts:
- PCK.CUSTOM (prefix). The prefix can be configured via the
actionbuilder.properties
file. For more information, see Installing the Action Builder. - Title of the Action Pack.
- PCK.CUSTOM (prefix). The prefix can be configured via the
-
Select Create Action Pack.
Note: It is good practice to provide information to others in the documentation object of the Action Pack to help identify your content. It can be found in the Documentation folder of the Pack in the Explorer.
Important!
- The override properties of the entities are ignored.
- AE objects stored outside the Application folder or not related to any Action Pack cannot be included in the Application Pack. Consider adding them to the Application folder in the Process AssemblyExplorer before creating the Pack.
- Go to the Release Automation perspective.
- Do one of the following:
- Right-click an Application and select one of the following options:
Add to Application Pack
Click it to create a new Application Pack.
Application Pack > Save
If a Pack for this Application already exists, this option is shown instead. Click it to update the information that is contained in the Pack.
- Double-click an Application to open it and click the Properties tab.
Click the Application Pack drop-down in the toolbar and select Save.
- Right-click an Application and select one of the following options:
-
Enter a new title (name) for the Application Pack or edit the existing one:
- The recommended naming convention is PCK.APP.[Application Pack Name]
- Name/Title fields can contain up to 255 characters
- The name must be unique and may only contain alphanumeric characters, ".", "-", "_", "@", "$", "#"
- Special characters and space characters are not supported. They are replaced by underscores.
- Click Add/Save.
- Saving your changes creates a new minor version of the Pack. For example: 1.0.0 > 1.1.0
- If the Application uses objects that are stored outside the Application folder or that are not related to any Action Pack, you are prompted to confirm the creation of the Application Pack without the objects. Alternatively, you can cancel the creation process, add the objects to the Application folder, and start again.
- The new Application Pack is created in the PACKAGES folder of the Process Assembly perspective
Notes:
- Dependencies on the custom type versions installed by Action Packs and used by the Application are also included in the Application Pack.
- The Application you want to create an Application Pack from may use custom types and custom type versions which do not belong to any Action Pack. In this case, the corresponding custom types will be included in the Pack and installed on the target system while importing the Application.
- Custom types on the target system with the same name and version number as the custom types included in the Pack are not overwritten and are used by the imported Application.
- The new custom type version that is imported into the target system will be in state "IN USE". See: Quick Actions.
- The custom type version with status "ACTIVE" is not changed on the target system. That is, every new Component that is created after installing an Action Pack will use the active custom type version (and not necessarily the new version imported with the Application Pack).
- Creating an Application Pack may take a while. The process runs in the background. You are notified when the process is complete.
- Non-existing Application Pack folders are created automatically on the target system by the background user.
- If the owner of the entity does not exist on the target system, the admin user is used instead. If an admin user is not available, the sync fails.
- Application Packs can only be replaced with a higher version of the same Application Pack. If you want to install a lower version, you must remove the current Application Pack first.
- If an Application does not have an Application Pack version and you install an Application Pack of this Application (created in another instance), the existing data will be replaced by the data in the Application Pack.
Creating Template Action Packs for Component Workflows
Templates for component workflows can be easily distributed and installed on different CDA systems by using CA Automic Package Manager.
Note: The Action Builder must be installed and configured.
To Create a Template Action Pack for Component Workflows
- Create the Action Pack structure:
- Go to the Process Assemblyperspective and click the Action Packs accordion tab in the sidebar.
- Click Create Action Pack. The New Action Pack window is displayed.
Enter a title for the Action Pack (for example: Component Workflow Template). The name for the Action Pack is suggested automatically.
- Click Create Action Pack.
- Clean up and define the Action Pack metadata:
- Switch to the Explorer.
- Navigate to the Action Pack, located in the PACKAGES sub-folder.
- Delete the following folders:
- ACTIONS
- RESOURCES and its subfolders.
- SOURCE (this folder should only be deleted if not needed. Please note that the sub-workflows (SOURCE/SHARED/JOBP) and PrompSets (SOURCE/SHARED/PROMPTSETS) are stored here).
- Delete the VARA object located in the CONFIG folder (for example: PCK_CUSTOM_COMPONENT_WORKFLOW_TEMPLATE.PUB.PROMPT_EXTERNAL.MAP).
- Add a new XML VARA object:
- Click Add Object.
- Name it PCK.<pack-name>.PUB.INTERFACE (for example: PCK.CUSTOM_COMPONENT_WORKFLOW_TEMPLATE.PUB.INTERFACE)
- Optionally, enter a title.
- Click Rename.
Click Add Key to create a new key and name it Interface.
- Click the new key and add the following XML-structure to list the Workflow Templates with the corresponding settings for the component custom type:
<
interface
>
<
templates
>
<
add-template
key="ARA.INSTALL.<CustomType>(.DEFAULT)">PCK.<
pack-name
>.PUB.TEMPLATE.INSTALL.<
WF-name
>(.DEFAULT)</
add-template
>
<
add-template
key="ARA.UNINSTALL.<CustomType>(.DEFAULT)">PCK.<
pack-name
>.PUB.TEMPLATE.UNINSTALL.<
WF-name
>(.DEFAULT)</
add-template
>
</
templates
>
For example:
Install key=
<add-templatekey ="ARA.INSTALL.TOMCAT.DEFAULT">PCK.CUSTOM_COMPONENT_WORKFLOW_TEMPLATE.PUB.TEMPLATE.INSTALL</add-template>
- Go to the Action Pack main folder (for example: PCK.CUSTOM_COMPONENT_WORKFLOW_TEMPLATE).
- Open the metadata VARA object (for example: PCK.CUSTOM_COMPONENT_WORKFLOW_TEMPLATE.PUB.VAR.METADATA) and redefine the files if needed.
In the Dependencies row enter any dependent Action Pack. (An Action Pack depends on another if Actions of this Action Pack are used inside the Template workflow).
- Optionally, enter a description for the Action Pack.
Open the DOCUMENTATION folder and double-click the PUB.DOC DOCU object.
Click the Documentation accordion tab and enter any general information that may be helpful to use the Action Pack.
- Back to the DOCUMENTATION folder, open the PUB.LICENSES DOCU object an enter any relevant information related to licensing (for example: this Action Pack may not be modified).
- Create template workflows:
- Open the TEMPLATES folder.
- Click Add Object.
- Unfold the Workflow (_FLOWS) object and select COMPONENT_FLOW Workflow.
- Click Add Object. The Rename Object dialog is displayed.
- Enter the same names as those specified in the XML VARA object and set the title accordingly.
Use the Process Assembly to design the template workflows by dragging and dropping the desired Actions into the workflow and setting the parameters.
Note: A copy of an existing component workflow can be used as a starting point to design a workflow template.
Important! The keys specified in the interface-XML must follow the aforementioned structure. Workflow names must follow the naming conventions too.
- Export the Action Pack:
Packs can be exported in the Process Assembly perspective to be reused in another client or system.
Important! When exporting a Pack, ensure that the metadata contains the correct values. It is good practice to increase the version number with subsequent releases of your Pack to distinguish between different versions. The version number can be set in the Metadata object of the Pack.
To Export an Action Pack
On the Action Packs page of the Process Assembly perspective, right-click the relevant Action Pack and select Export.
On the Export Action Pack window, select Export to automatically validate and build the Pack.
Select Download to download the Pack and select a destination.
A semantic check is performed before exporting the Action Pack, thus ensuring that the Actions are defined correctly. The following properties are checked:
- Generate Job at = Runtime
- Deactivate on Finish = After error-free execution.
- Error-free status = ANY_OK
- Overwrite Agent's value = “&AGENT#“ or leave it empty
Note: It is not recommended to export Action Packs with a hard-coded Agent/Login set.
This Action Pack can be used to install the created workflow template into another CDA systems.
Note: Templates can only be used in the same AE/ARA-System where the Action Pack was created if they are installed via the Package Manager.
Configuring Sync Interval of Application Packs
After installing an Application Pack, the new Application and its related entities will be available in the Release Automation perspective.
The synchronization interval between the Application Pack installed in the Automation Engine and the CDA system can be configured in the Application section of the customer.config
file (Automic\Release.Manager\WebUI\customer.config). See: Configuring the Web Application - Customer.Config.
Packs can be exported in the Process Assembly perspective to be reused in another client or system.
Important! When exporting a Pack, ensure that the metadata contains the correct values. It is good practice to increase the version number with subsequent releases of your Pack to distinguish between different versions. The version number can be set in the Metadata object of the Pack.
To Export an Action Pack
-
On the Action Packs page of the Process Assembly perspective, right-click the relevant Action Pack and select Export.
-
On the Export Action Pack window, select Export to automatically validate and build the Pack.
-
Select Download to download the Pack and select a destination.
A semantic check is performed before exporting the Action Pack, thus ensuring that the Actions are defined correctly. The following properties are checked:
- Generate Job at = Runtime
- Deactivate on Finish = After error-free execution.
- Error-free status = ANY_OK
- Overwrite Agent's value = “&AGENT#“ or leave it empty
Note: It is not recommended to export Action Packs with a hard-coded Agent/Login set.
To Export an Application Pack
Applications that have already been added to an Application Pack can be exported.
- From the Process Assembly perspective (see: Exporting Packs)
- From the Applications list.
- Right-click an Application.
- Navigate to Application Pack > Export.
- From the Properties view of an Application.
- Double-click an Application to open it and click the Properties tab.
- Navigate to Application Pack > Export.
Cloning Packs
The cloning functionality of the Action Builder allows you to save time when creating Packs which are similar to existing ones.
Important! Action Packs can only be cloned provided the SEARCH_SCRIPT_FOR_USAGE setting in the UC_CLIENT_SETTINGS Vara is set to Y. For more information, see the Prerequisites table in Installing the Action Builder.
Note: Cloning an Action Pack results in all Actions and objects that directly belong to it (Includes, Prompsets, Workflows) to be copied.
To Clone Packs
-
On the Action Packs page of the Process Assembly perspective, right-click the relevant Action Pack and select Clone.
-
(Optional) Change the title for the cloned Action Pack.
Tip: It is recommended to enter a descriptive name because the title helps you and others to better identify the purpose of the Action Pack.
-
Enter a Name. A prefix is automatically added by the system to adhere to the Action Packs' naming conventions.
Note: Prefixes can be configured via the
action.builder
file.
The cloned Action Pack is displayed on the list.
To Delete a Pack (GUI)
On the Packs page of the Administration perspective, right-click the Pack you want to delete and select Remove.
To Delete a Pack (CLI)
Use the following commands to remove Packs:
-
Removing a Pack
apm remove <package name>
-
Removing a Pack without the AppData content
apm remove-appdata <package name>
Note: Deleting an Application Pack will not remove the imported Application, its Components or definitions from the system.
Getting Help and Further Commands (CLI)
For more details on sub-commands, options and syntax, refer to the built-in help.
Command Structure
The APM CLI uses a multipart structure. Each command consists of:
- A base ( APM)
- An action specifying the operation to be executed (for example: install).
-
Arguments and options, which can be generally specified in any order.
Options can be specified in short form (starting with a single dash "-") or in long form (starting with a double dashes "--"). For example: -h, --help or -c, --client.
Some options have its own arguments, that must be specified right after the option. For example:
-c 20 -u UC/UC
. Other options have no argument and work as a flag. For example:-v
,--verbose
or-h
,--help
.The CLI tool can process none, one or more arguments that are not optional, called "main arguments". Main arguments and optional arguments (if available) can be entered with double quotes (” ”) or single quotes (‘ ‘) in a consistent way.
All APM commands have the following syntax:
apm <command> [option] [<arguments>]
Passwords
Passwords can be specified with the following commands: -pw or --password.
Important! The values will not be displayed in the command line while typing.
Common Options
The following options are available for all APM commands:
-
-v, --verbose
Display verbose output
Default: false
-
-vv, --very-verbose
Display verbose output
Default: false
-
-y, --yes
Respond "yes" to all prompted questions.
Default: false
Common Options for Automation Engine Connection Commands
-
-C <file>, <file>
Path to uc4config.xml. Default: $PM_HOME/conf
-
-L <file>, --login-dat <file>
Path to login_dat.xml. Default: $PM_HOME/conf
-
-T <template>, --user-template <template>
UC4 user template used to connect to the AE
-
-S <system>, --system <system>
AE system name. This command overrides the default value of the configuration file.
-
-H <host>, --host <host>
AE hostname or IP address. This command overrides the default value of the configuration file.
-
-c <client>, --client <client>
AE client number. This command overrides the default value of the configuration file.
-
-p <port>, --port <port>
AE port. This command overrides the default value of the configuration file.
-
-u <user/dept>, --user <user/dept>
AE user/dept. This command overrides the default value of the configuration file.
-
-pw [password], --password [password]
AE password, password may be not mandatory in command line, the tool will ask for it later.
-
-l <language>, --language <language>
AE language. This command overrides the default value of the configuration file.
-
-f <folder>, --folder <folder>
AE folder containing all installed packages. Default:
\PACKAGES
Get Help for a Command
For details on commands, call apm <command> -h
or apm <command> --help
.
Find more Commands
For a list of available commands, call apm -h
or apm --help
.
Analyze and Display Current Environment Issues
apm doctor check
Fix Current Environment Issues Detected by the Doctor Check Command
apm doctor fix
Note: Extended Packs: run this command if you want to scan for and update missing hooks and VARA objects of base Packs.
Display Pack Content
apm show [option] <pack_name>
Where [option] can be one of the following:
-
--from-file
Read Pack from local file or directory
-
--installed
Only show installed Pack.
Default: false.
-
--local
Only show Pack in local cache.
Default: false.
Download Packs
Download Packs from the Automation Engine client to the working directory.
Important! A package.yml file must exist in the current working directory. If the file does not exist, call the following command to create it: apm init <pack_name>
apm download [option]
Where [option] can be one of the following:
-
--force-overwrite
Objects which already exist in the local file system will be overwritten with content from the AE client.
Short:-force
Default: false.
-
--include-appdata
Download also the AppData folder.
Short:-ia
Default: false.
-
--remove-unused
Remove unused files which do not have matching objects in the working directory.
Short:-ru
Default: false.
Upload Packs
Upload Packs from the working directory to the Automation Engine client.
Important! A package.yml file must exist in the current working directory. If the file does not exist, call the following command to create it: apm init <pack_name>
apm upload [option]
Where [option] can be one of the following:
-
--force-overwrite
Objects which already exist in the AE client will be overwritten with content from the local file system.
Short:-force
Default: false.
-
--ignore-dependencies
Package dependencies are ignored.
-
--include-appdata
Upload also the AppData folder.
Short:-ia
Default: false.
-
--no-binary
Upload all objects except binary objects.
Short:-nb
Default: false.
-
--no-content
Upload binary objects that are defined in the Pack config only.
Short:-nc
-
--remote-password
Password of remote repository.
Note: required in case dependency packs need to be downloaded and installed before the current pack is installed.
-
--remote-user
Username of remote repository
Note: required in case dependency packs need to be downloaded and installed before the current pack is installed.
-
--remove-unused
Remove unused files which do not have matching objects in the AE client.
Short:-ru
Default: false.
Working with CDA Plug-ins for third-party products
You can download the CDA plug-ins from: https://marketplace.automic.com/.
Refer to the CDA Plug-ins for Third-Party Products section for more information about how to install and manage the CDA plug-ins.