UAC Utility: UDMG Transfer
Disclaimer
Your use of this download is governed by Stonebranch’s Terms of Use.
Version Information
Template Name | Extension Name | Version | Status |
|---|---|---|---|
UDMG Transfer | ue-udmg-mft | 1 (Current 1.0.0) | Fixes and new Features are introduced. |
Refer to Changelog for version history information.
Overview
Universal Data Mover Gateway (UDMG) is Stonebranch’s secure managed file-transfer (MFT) solution for orchestrating data movement across on-prem, cloud, and partner environments. It provides encrypted transfers, centralized credential and endpoint management, policy-based governance, and detailed auditing. UDMG integrates tightly with the Universal Automation Center (UAC), enabling unified security, logging, and access control across automated workflows.
This extension integrates the functionality of UDMG into UAC, allowing users to trigger and monitor UDMG file-transfer pipelines (UDMG 3.2+), by allowing transfers to be initiated programmatically as part of broader UAC workflows. Transfer completion is reflected directly in the task instance status, supporting reliable workflow chaining and ensuring secure data movement without manual intervention.
Key Features
Feature | Description |
|---|---|
Trigger File Transfers through UDMG | Initiate UDMG file-transfer pipelines (UDMG 3.2+) directly from the task instance, enabling secure PUT/GET operations as part of automated workflows. |
Cancellation Propagation | Automatically forwards task-instance cancellations to UDMG, ensuring that an in-progress transfer is also cancelled on the UDMG side for consistent and controlled workflow behavior. |
Automatic Schedule or Transfer Information Retrieval upon Completion | Exposes extension output containing details about the created UDMG schedule or triggered transfer, allowing downstream workflow steps to access identifiers, statuses, and other execution metadata. |
Requirements
This integration requires a Universal Agent and a Python runtime to execute the Universal Task.
Area | Details |
|---|---|
| Python Version | Requires Python 3.11, tested with Python 3.11.8 |
| Universal Agent Compatibility |
|
| Universal Controller Compatibility | Universal Controller Version >= 7.6.0.0. |
| Universal Data Mover Gateway | This integration is tested using UDMG version 3.2. Should retain compatibility with later versions as long as backward compatibility is preserved. |
| Network and Connectivity | Connectivity towards a UDMG v3.2+ instance. |
Supported Actions
There is a single Top-Level action controlled by the Action Field:
Initiate File Transfer
Action Output
Output Type | Description | Examples |
|---|---|---|
EXTENSION | The extension output provides the following information:
|
Configuration Examples
Example: Initiate a File Transfer, without polling for its completion
This task is a simple example for initiating a File Transfer on UDMG and immediately exiting.
Example: Initiate a File Transfer, polling for its completion and requesting all available information
This task uses initiates a File Transfer on UDMG verifying the connection with the specified CA bundle, waiting for its completion and retrieving all available information. All optional environment variables have been set to appropriate values.
Importable Configuration Examples
This integration provides importable configuration examples along with their dependencies, grouped as Use Cases to better describe end to end capabilities.
Those examples aid in allowing task authors to get more familiar with the configuration of tasks and related Use Cases. Such tasks should be imported in a Test system and should not be used directly in production.
Initial Preparation Steps
STEP 1: Go to Stonebranch Integration Hub and download the "UDMG Transfer" integration. Extract the downloaded archive on a directory in a local drive.
STEP 2: Locate and import the above integration to the target Universal Controller. For more information refer to the "How To" section in this document
STEP 3: For "UDMG Transfer", inside directory named "configuration_examples" you will find a list of definition zip files. Upload them one by one respecting the order presented below, by using the "Upload" functionality of Universal Controller:
variables.zip
credentials.zip
tasks.zip
workflows.zip
STEP 4: Update the uploaded UAC Credential entity introduced with proper Username / Password
STEP 5: Update the UAC global variables introduced with variables.zip file. Their name is prefixed with "ue_udmg_mft". Review the descriptions of the variables as they include information on how they should be populated.
The "Upload" functionality of Universal Controller allows Users to import definitions exported with the "Download" functionality.
The order indicated above ensures that the dependencies of the imported entities need to be uploaded first.
How to "Upload" Definition Files to a Universal Controller
Login to Universal Controller and:
STEP 1: Click on "Tasks" → "All Tasks"
STEP 2: Right click on the top of the column named "Name"
STEP 3: Click "Upload..."
In the pop-up "Upload..." dialogue:
STEP 1: Click "Choose File".
STEP 2: Select the appropriate zip definition file and click "Upload".
STEP 3: Observe the Console for possible errors.
Use Case 1: Local File Processing via UDMG Transfer (SFTP)
- File transfer from and to a remote SFTP server using the ue-udmg-mft (UDMG Transfer) extension.
- Monitoring of transfer and automatic setting of variables based on information exposed by UDMG Transfer Task's Extension Output.
The components of the solution are described below:
"UC1: UDMG MFT - Transfer from Remote A to Local" – Uses the ue-udmg-mft extension to transfer a file from a remote SFTP server to the local system via the UDMG service. Output variables are set with the local file path.
"UC1: UDMG MFT - File Processing Task" – Performs local processing or alteration of the retrieved file (for example, text replacement using sed) by referencing the variables set in the previous step.
"UC1: UDMG MFT - Transfer from Local to Remote B" – Uses the ue-udmg-mft extension to transfer the processed file to the same or a different remote SFTP server.
How to Run
Execution Steps:
STEP 1: Manually start the workflow. This triggers "UC1: UDMG MFT - Transfer from Remote A to Local", which downloads the file from the remote SFTP server and sets variables pointing to the local file path.
STEP 2: Once the file is available locally, "UC1: UDMG MFT - File Processing Task" runs, allowing users to modify the file using standard tools and the provided path variables.
STEP 3: After processing completes, "UC1: UDMG MFT - Transfer from Local to Remote B" uploads the modified file to the target SFTP server.
Expected Results:
- The file is successfully transferred from the remote SFTP server via UDMG.
- Variables are set, enabling immediate access to the local file path.
- The file is processed locally as defined by the workflow.
- The processed file is successfully transferred to the target remote SFTP server.
Input Fields
Name | Type | Description | Version Information |
|---|---|---|---|
Action | Choice | The action performed upon the task execution.
| Introduced in 1.0.0 |
| UDMG Server Base URL | Text | The Base URL of the UDMG Server to connect to, e.g. https://<udmg-host>:<port>. | Introduced in 1.0.0 |
| Enable SSL Verification | Checkbox | Enable to verify the UDMG instance's SSL certificate. Disable to skip verification. A path to a certificate bundle may be specified via the UE_SSL_CERT environment variable. | Introduced in 1.0.0 |
| Domain | Text | The UDMG domain to connect to. Either the domain's name or ID can be specified. | Introduced in 1.0.0 |
| Domain Credentials | Boolean | Credentials to be used to connect to aforespecified domain. | Introduced in 1.0.0 |
| Pipeline | Choice | The pipeline upon which to initiate a File Transfer. | Introduced in 1.0.0 |
| Path to Source File | Text | Relative path to the file that is to be transferred. | Introduced in 1.0.0 |
| Path to Destination | Text | Relative path to the location where the transferred file should be placed. | Introduced in 1.0.0 |
| Wait for Success or Failure | Checkbox | Specifies whether the extension should wait for the transfer's completion. | Introduced in 1.0.0 |
| Polling Interval | Int | The interval at which to check the status of ongoing transfer. Only available if Wait for Success or Failure is selected. | Introduced in 1.0.0 |
| Extension Output Options | Choice | Controls whether additional information is printed to Extension Output. Available options are:
Only available if Wait for Success or Failure is selected. | Introduced in 1.0.0 |
Output Fields
The following output-only fields provide better visibility during the execution of Universal Task Instances.
Name | Type | Description | Version Information |
|---|---|---|---|
Task UUID | Text | UUID of deployed task instance | Introduced in 1.0.0 |
TransferID | Text | ID assigned from UDMG to ongoing transfer | Introduced in 1.0.0 |
ScheduleID | Text | ID assigned from UDMG to ongoing schedule | Introduced in 1.0.0 |
Environment Variables
Environment Variables can be set from Environment Variables task definition table. The following environment variables can affect the behavior of the extension.
Environment Variable Name | Description | Version Information |
|---|---|---|
UE_HTTP_TIMEOUT | Specifies the timeout (in seconds) for HTTP requests made by the Task Instance. A higher value allows for slower responses, while a lower value enforces stricter time constraints. If not set, a default of 60 seconds is used. When a timeout happens, the Task Instance ends in failure. | Introduced in 1.0.0 |
UE_SSL_CERT | Used to specify the local path to CA Bundle to be used for SSL Verification. If not set, and Enable SSL Verification has been selected, the system default CA Bundle will be used. | Introduced in 1.0.0 |
UE_SCHEDULE_POLLING_INTERVAL | Specifies how often the schedule should be polled for transfer initiation. | Introduced in 1.0.0 |
Cancelation and Rerun
In case of cancellation, monitoring of the transfer is halted. The cancellation is propagated to UDMG, cancelling the ongoing file transfer, and retrieving information relevant to the schedule and transfer before exiting.
In case of rerun the extension follows the same execution flow as the initial execution. As such, the transfer will once again be initiated, with the result depending on the state of the source and target directories. Note that in case the transfer has already been completed and the file remains unchanged on both systems, the transfer will be instantly completed on the UDMG side.
Exit Codes
Exit Code | Status | Status Description | Meaning |
|---|---|---|---|
| 0 | Success | “SUCCESS: Task executed successfully. “ | Successful Execution |
| 1 | Failure | “Execution Failed: <<Error Description>>” | Generic Error. Raised when not falling into the other Error Codes. |
| 2 | Failure | “Authentication Error: Account cannot be authenticated.“ | Bad credentials |
| 3 | Failure | “Authorization Error: Account is not authorized to perform the requested action.“ | Insufficient permissions |
| 10 | Failure | “Timeout Exceeded Error: Timeout Error.“ | Timeout Error produced by any requests towards UDMG instance. |
| 20 | Failure | “Data Validation Error: <<Error Description>>“ | Input fields validation error. |
| 40 | Failure | “Polling Error: <<Error Description>>“ | Error during file transfer progress polling. |
STDOUT and STDERR
STDOUT of this integration is empty
STDERR provides additional information to the user, the verbosity of which is tuned by the Log Level Task Definition field.
STDOUT and STDERR provide additional information to the User. The populated content can be changed in future versions without notice. Backward compatibility is not guaranteed.
How To
Import Universal Template
To use the Universal Template, you first must perform the following steps.
This Universal Task requires the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.
When the files have been imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.
Modifications of this integration, applied by users or customers, before or after import, might affect the supportability of this integration. For more information refer to Integration Modifications.
Configure Universal Task
For a new Universal Task, create a new task, and enter the required input fields.
Integration Modifications
Modifications applied by users or customers, before or after import, might affect the supportability of this integration. The following modifications are discouraged to retain the support level as applied for this integration.
Python code modifications should not be done.
Template Modifications
General Section
"Name", "Extension", "Variable Prefix", and "Icon" should not be changed.
Universal Template Details Section
"Template Type", "Agent Type", "Send Extension Variables", and "Always Cancel on Force Finish" should not be changed.
Result Processing Defaults Section
Success and Failure Exit codes should not be changed.
Success and Failure Output processing should not be changed.
Fields Restriction Section
The setup of the template does not impose any restrictions. However, concerning the "Exit Code Processing Fields" section.Success/Failure exit codes need to be respected.
In principle, as STDERR and STDOUT outputs can change in follow-up releases of this integration, they should not be considered as a reliable source for determining the success or failure of a task.
Event Template configuration related to “Metric Label Attributes” & “Optional Metric Labels” is allowed. However, administrators should be cautious of high cardinality scenarios that might occur.
Users and customers are encouraged to report defects, or feature requests at Stonebranch Support Desk.
Document References
This document references the following documents:
Document Link | Description |
|---|---|
User documentation for creating, working with and understanding Universal Templates and Integrations. | |
User documentation for creating Universal Tasks in the Universal Controller user interface. |
Changelog
ue-udmg-mft-1.0.0 (2025-12-19)
Initial Version release




