Ansible: Execute and Manage Playbooks
This Ansible integration allows users to execute Ansible playbooks and run other Ansible modules or commands directly from the Stonebranch Universal Automation Center (UAC). Key Features: Manage Ansible task execution through the intuitive Universal Controller user interface. Ansible playbooks can either be centrally stored and maintained in the Universal Controller script library, or Universal Controller can call the relevant playbook residing in the Ansible host. This integration also enables the execution of other Ansible commands.
AWS EC2: Create Instances
This integration allows users to create an AWS EC2 instance with parameters, either in task form or by simply creating an EC2 instance from the existing AWS launch template. This task also offers the option to install a Linux/Unix Universal Agent in the newly provisioned EC2 instance. Key Features: The task interacts with the AWS platform via a Python Boto3 module. All AWS credentials remain encrypted. Users can also install/configure a Linux Universal Agent for each EC2 instance, enabling the Universal Controller to communicate with the newly created instance instantly. This task also lets users create multiple EC2 instances with the same configuration. New instances can also be tagged. It allows customers to create a new key pair or use an existing one for the new EC2 instance. This task also enables options for additional EBS volume and encryption, as well as detailed monitoring. Additional Info:Only Linux Universal Agent is supported at the moment.
AWS EC2: Start, Stop, and Terminate Instances
This integration allows users to spin up, terminate, and manage AWS EC2 instances on demand simply by providing one or more instance IDs as input. Key Features: This task uses Python Boto3 to interact with the AWS platform using the credentials supplied within the task. It supports multiple EC2 instances at once. This task goes to the success state in Universal Controller until the EC2 instance is completely spun up or terminated. Scheduling this task using Universal Controller workflow spins up and tears down EC2 instances based on the business needs, complete with the correct setup and dependencies. It dynamically manages EC2 operations, offering the potential to reduce EC2 operations costs in the cloud.
Azure Virtual Machines: Start, Stop, and Terminate Instances
This integration allows users to utilize Azure Virtual Machine (VM) name, resource group, subscription ID, and access token as inputs to a start, stop, terminate, list, and check the status of Azure VMs. Key Features: Uses a Python request module to interact with the Azure cloud platform. Expands user ability to start/stop/terminate/check/list Azure VMs that belong to a subscription and resource group. In the Stonebranch Universal Controller (UC), this task reaches and stays in the success state until the Azure instance is completely started, stopped, or terminated. Scheduling this task in UC with the right dependencies set up would start and stop EC2 instances based on business needs using a UC workflow. This task helps to dynamically manage VM operations. It could potentially reduce the Azure VM running cost in the cloud. Important: This integration uses Azure Oauth 2.0 access token for Azure API authentication. Users may need to use the UC web services task to refresh the access token periodically.
DBT: Core CLI
DBT (Data Build Tool) Core is an open-source tool and it is designed to help data engineers and analysts manage and transform data in a reliable and scalable manner. Some key features of DBT Core include version control integration, automated testing, documentation generation, and dependency management. These features enable teams to collaborate effectively, ensure the quality of their data transformations, and maintain documentation for their data pipelines. DBT Core simplifies the process of transforming data in a data warehouse environment, providing a structured and scalable approach that helps teams manage their data transformation workflows effectively.This integration provides an interface to call the DBT Core CLI and enables users to execute DBT Core CLI tasks in Universal Controller. This is particularly useful when UC acts as a data pipeline orchestrator and DBT is a step within a data pipeline Universal Controller workflow. Key Features: Show DBT version and DBT environment variables information as Task Instance STDOUT. Enables users to retrieve Information on the dbt core installation. Execute a given DBT command. DBT output is displayed as task instance STDOUT Artifacts can be collected, and related information can be published within Universal Controller for subsequent workflow tasks to use.Ability to safely store and pass UC Credentials as DBT environment variables. What's New in V1.0.1Include integration icon on Universal Template.
Fivetran is a cloud-based data integration platform that helps businesses automate the process of extracting data from various sources, transforming it, and loading it into a data warehouse for analysis. It offers a wide range of pre-built connectors to popular data sources such as databases, marketing platforms, CRMs, and more. Fivetran's connectors are designed to be easy to set up and use, allowing businesses to focus on data analysis rather than data integration. The platform also offers features such as data transformation, scheduling, monitoring, and access control to help organizations manage their data pipelines more efficiently. Fivetran supports a variety of data warehouses, including Amazon Redshift, Google BigQuery, Snowflake, and Microsoft Azure. This integration allows to create and execute Fivetran Tasks in Universal Controller. Key Features: Trigger a Sync action on a Connector. Optionally, wait until Sync is completed. Trigger a Re-sync (Historical Sync) action on a Connector. Optionally, wait until Re-sync is completed. What's New in V1.0.1 A fix is provided to execute the integration with a Python installation, other than the one that is bundled with the Universal Agent.
Git is a free and open-source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. This Universal Extension provides the capability to securely automate the synchronization of your local repositories with the cloud or internal repository servers. The Universal Extension for Git allows to securely sync a branch from a remote repository to a local one. Key Features: Cloning a repository locally if it does not exist. If the local repository exists, then a pull request is issued to get the latest changes from the remote repository branch Authentication: HTTP/ HTTPS Basic Authentication HTTP/ HTTPS Access Token SSH
GitHub: Automated Import/Export
This integration empowers developers to use GitHub as their version control system. Users will automate the transfer of any workload object — such as tasks, calendars, scripts, and triggers — to and from GitHub. Often, this integration is used to support the development process, inclusive of propagating changes to the next environment, such as QA and Development. Support the automation of the DevOps process by integrating the Stonebranch Universal Automation Center (UAC) with GitHub. Key Features: Import any Universal Controller (UC) object from GitHub into UC. For example: import a new template from the GitHub Marketplace into UC. Import any UC object from a script file into UC. For example: support for no internet connection from UC to GitHub. Export any UC object to GitHub from UC. For example: export a developed Universal Template to a GitHub repository. Export any UC object to a script object. The content of the script later can be used to import it on a Controller without needing the UAC import functionality. Support UC customers, whether SaaS or on-premises. Additional Information: Objects integrated with GitHub include Linux/Unix, Windows, and web service tasks. File operations are performed using the PyGithub module. This task supports Universal Agents for both Linux and Windows operating systems. Users can select different log-levels, e.g., info or debug. All passwords are encrypted using UC credentials. What's new in V 1.1.25With this release minor bugs are fixed.
Terraform is an infrastructure as code tool that lets you define cloud and on-prem resources in human-readable configuration files that you can version, reuse, and share. You can then use a consistent workflow to provision and manage your infrastructure throughout its lifecycle. This integration allows users to create tasks that execute terraform commands. Typically, it can be used for Use Cases where UAC acts as an orchestrator for resource provisioning, and Terraform needs to be used to provide those resources. Key Features: This Universal Extension provides the following key features: Init Terraform (Supports upgrade option) Plan Terraform (Supports Refresh-only planning mode) Apply Terraform Destroy Terraform What's New v 1.0.1 This new release gives the capability to pass UAC credentials from the template into the terraform variable file and to be used in the terraform execution.
Jenkins: Start and Trigger Workflows
This integration improves the functionality of Jenkins when orchestrated from the Stonebranch Universal Automation Center. It encourages collaboration by enabling the well-controlled and automated deployment of applications over to the operations side. Key Features: UAC communicates with Jenkins through the Python Jenkins module. Jenkins can make REST API calls to the Stonebranch Universal Controller (UC) to trigger any task or workflow. This task can trigger or start an existing build job in Jenkins. The UC will monitor the build execution in Jenkins until completion, then send the build results to the UC. With this task, users can create a building job in Jenkins from the UC. Any Jenkins build job definitions in XML will be stored centrally in the UC. It offers the functionality to fetch the Jenkins job build information and list running build info in Jenkins from UC. Enable/disable Jenkins jobs and nodes and delete/copy/rename Jenkins jobs from UC. When users list the installed plugins in Jenkins, a plugin install can be triggered from the UC. Set the next build info for Jenkins to build jobs.
Microsoft SQL: Schedule SSRS
This integration can complete various administrative tasks, including publishing reports and moving reports from one server to another server. It's based on the SQL Server Reporting Services 'rs.exe' command-line utility, which can perform many scripted operations related to SQL Server Reporting Services (SSRS). The rs.exe utility requires an input file to tell rs.exe what to do.The list of actual tasks that can be performed includes among others: Deploying / Publishing reports Moving reports Exporting reports to a file Adjust security Cancel a running job Configure SSRS system properties
Microsoft SQL: SSIS Package Execution
SQL Server Integration Services (SSIS) is a platform for building data integrations and data transformation solutions.This Universal Extension task interactively allows users to list and select the SSIS Folder, Project, Environment Reference, and SSIS Package while creating the job. Furthermore, it can trigger the SSIS package execution in the Microsoft SQL server, monitor the SSIS Package execution, and fetch SSIS logs to Universal Controller when the SSIS package execution has been completed.Key Features:This Universal Extension provides the following key features:Dynamic Choice Fields to select the SSIS Folder/Project/Package/Environment Reference ID.Launch SSIS Package execution. Monitor SSIS Package execution.Fetch SSIS Package execution logs.SSIS Execution ID and Execution status captured for every execution in the Task Instance.Connection to MS SQL Server is done via the Python PYMSSQL module.Supports Windows and Linux Universal Agents in order to connect to the MSSQL server.What's in V1.0.4This new release involves a minor bug fix.
Microsoft Visual Studio: Code Extension
The Microsoft Visual Studio Code Extension for the Universal Integration Platform (UIP) enhances the development experience of creating and working with Universal Extensions. This extension allows users to develop their own Universal Extensions within Visual Studio. To access this extension, download it directly from the Visual Studio Marketplace. Download NowKey Features: Provides an IDE wrapper for the uip-cli command line utilityQuickly prototype Extensions using starter Extension TemplatesBuild and upload Extensions and/or Universal TemplatesPull the latest Universal Template source files from the ControllerDownload the full Universal Template packageDebug Extensions locally without the need of Agent and Controller Note: End user often pair this extension with version control systems like Git or GitHub. In addition, if you prefer coding automated jobs and workflows, take a look at the jobs-as-code extension.
Oauth2: Get token
The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either: On behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service.By allowing the third-party application to obtain access on its own behalf. With Universal Automation Center, you can obtain Oauth2 access tokens that can be used to authorize UAC tasks. Key FeaturesSupport to obtain Oauth2 access token for "Resource Owner Password Credentials" (aka "Password Credentials") or "Client Credentials" grant types Support for authorization scopes Support to use the Client Credentials in the request Body or as Basic Authorization Header
PagerDuty: Manage Alerts
This integration allows users to notify the PagerDuty incident management platform of any event in the Stonebranch Universal Automation Center, including job failure, long run, or early finish. Furthermore, PagerDuty can help aggregate alerts and group them to provide reliable notifications, automatic escalations, and on-call scheduling that can help fix support issues quickly. Key Features: With this integration, users can orchestrate the following PagerDuty functionalities: PagerDuty incident: Create incident. List incidents. Update incident notes. PagerDuty event: Create PagerDuty event. PagerDuty user management: Create a user in PagerDuty. Delete a user in PagerDuty.
Servicenow aims to deliver digital workflows that create great experiences and unlock productivity for enterprise operations. The company's core business revolves around the management of "incident, problem, and change".This Integration allows customers to create incident tickets in ServiceNow straight from the Universal Controller. A typical Use Case is the creation of a ticket in ServiceNow in the event of a Task failure within the Universal Controller. Key Features:This Universal Extension provides the following key features:ActionsCreate a ServiceNow Incident.AuthenticationAuthentication using ServiceNow Credentials.Input/OutputCapability to send the output of any task instance as incident attachment. What's New in V2.0.0Breaking Changes: This integration is no longer importable on Universal Controller 7.0 or runnable on Agent version 7.0.Fixed: Remove value validation for the "Urgency" and "Impact" Dynamic Choice Fields.
SQL: ODBC Task
This Universal Extension provides the capability to integrate with ODBC compliant database, by running single or multiple SQL commands and retrieving the resulting data. While it is designed to work with any ODBC-compliant database, it is thoroughly tested against MySQL, MSSQL Server PostgreSQL, and Oracle databases. As opposed to the native UAC SQL Task, which runs on the Controller, this integration allows the user to run an SQL Task from the Agent.Key FeaturesFlexibility in database connection definition supporting DSN, FILE DNS and Connection String.Rich metadata information.Capability to store SQL results in files (CSV or JSON format).Rich Observability capabilitiesWhat's New in V2.0.0Rich observability capabilitiesFeature added to protect task authors from pushing into Universal Controller unnecessary database data by providing the capability to control the number of lines from the SQL result set that will be available on extension output. Task Authors can use UE_EXTENSION_OUTPUT_MAX_SQL_ROWS environment variable to control the behavior Breaking changesCompatibility of this integration has been changed. It is applicable for Universal Controller and Universal Agent with version >=7.2 "Status Description" text information has been updated. Tasks or workflows evaluating the "Status Description" of the task Instance, either programmatically or within UAC, might be affected by it. In that case, they need to conform to the new "Status Description" Text In this version, by default, the returned datasets displayed on the extension output are truncated to the first 100 rows. If more than 100 rows need to be pushed into the extension output, the environment variable UE_EXTENSION_OUTPUT_MAX_SQL_ROWS needs to be set appropriately on the task definition Extension Invocation Fields > Credential fields are displayed as an object for better readabilityWhat's New in V2.1.0Official support for Amazon Redshift Database.New Choice Field “SQL Source” that gives the opportunity to provide the SQL Script either as a UAC Script or as plain text.Enhanced security when the Connection Method is “Connection String” by selecting the proper Credential and passing it via the connection string. This can be achieved using the following notation: [credential_name].user and [credential_name].password.Fix "authenticate with the system user" connectivity when the Connection Method is “Connection String” and the Database Type is “MSSQL”.
UAC Utility: CSV Tool
This Universal Extension is a tool to process input data in Comma-Separated Value (CSV), Delimited Separated Value (DSV), or Tab Separated Value (TSV) formats. It is typically used when input data need to be read, filtered, and possibly saved into new files or transformed into JSON format. Key Features:Read Input CSV/DSV/TSV input files with the capability to perform row filtering andSave data on a new file of the same format.Transform Data into JSON (as EXTENSION Output)Universal Task enables users to select well-known input data formats (known also as dialects) to parse and process Input data. The dialect list is the following:Excel CSVExcel TSVUnix CSVA “Custom” option also exists to provide full flexibility.
UAC Utility: File Compression
File compression is a way to reduce overall file size without losing any of the primary data to make large files more manageable. This integration provides the capability to compress and decompress a file, with or without password encryption.Key Features:This Universal Extension provides the following main features: ActionsCompress file or directories.Decompress zip files with files or directories.OtherSupport for AES-256 password encryption for files.Support for 7-Zip (Windows/Linux) and p7zip (Linux)Support for Embedded (Linux)What's New V1.2.0New Embedded Archiver Tool permits users to zip/unzip not only files but whole directories. It is using Python Standard Library and not a 3rd party executable like 7Zip is needed. It is very useful for cases that the Agent is installed in container (and thus having access to a very small set of binaries) and the user of the platform does not need to use complex features like encryption.
UAC Utility: GPG
GnuPG is an implementation of PGP (Pretty Good Privacy), a form of public key/private key cryptography. It is the most widely used encryption program in the world. This Universal Task provides the capability for Encrypting, Decrypting Files using GnuPG. It also allows Signing Files and Public Keys. Key Features:This Universal Task provides the following key features: Encrypt & SignDecryptSign (Sign, Cleartext-Sign, Detached-Sign)Import Private Keys (Script Library support)Import Public Keys (Script Library support)Delete KeysDelete Secret KeysList KeysList Secret KeysExport Keys Private KeysExport Public KeysGenerate Keys
UAC Utility: Jobs-as-Code (JaC)
The Stonebranch Jobs-as-Code (JaC) Universal Extension automates task and workflow delivery pipelines in which the job configuration is managed as code. This approach allows developers to create and manage job configurations using DevOps methodologies — complete with version control, testing, and continuous integration. The extension is configurable, allowing end-users to create jobs-as-code using the integrated development environment (IDE) of choice.The extension integrates with an external version control system (Gitlab, Github, or Bit Bucket), which stores the corresponding job definitions.Integrating with existing delivery pipelines, jobs can be stored on the external git repository and/or imported.Universal Automation Center (UAC) job definitions may be created through the Universal Controller (UC) user interface or as code in a development environment. Key Features:Query UAC definitions based on a variety of selection criteria. This feature can be used as a dry-run before exporting or importing to/from a Git repository.Export selected UAC Definitions to a Git Repository. After the export, this repository can be used as a backup or as a basis for developer collaboration on top of a source version control system.Import back to Universal Controller, UAC Definitions stored already in a Git repository. For UC version 7.3, or higher, the import feature can be triggered by using webhooks. GitLab/GitHub/BitBucket providers are supported.Total count of the selected/exported/imported UAC definitions.Detailed table representation of the exported/imported UAC definitions. What's New v1.1.0Support Bit Bucket Cloud.Update output field “Extension Status” with execution information.Fixes on connection issues targeting GitLab and GitHub instances.Error handling on listing and exporting UC definitions.
UAC Utility: Remote Controller
Universal Task to launch, monitor, and return results from a task defined in a remote Universal Controller.For customers who would like to manage tasks in one Universal Controller from another Universal Controller. Simply supply the target Universal Controller URL, valid credentials, and the name of a task defined to the target Universal Controller. Using the web service API's, the Universal Task launches the requested task by name, captures the new instance sysid, and uses this to track the status of the task. After completion, the output is retrieved if the task type supports this, and the Universal Task complete with the same exit code as the launched task.
UAC Utility: Run a Command/Script on a Remote SSH Server
This integration allows users to run a command or Stonebranch Universal Controller (UC) data script on a remote SSH server. It enables the execution of commands and scripts from the UC script library on a remote Unix/Linux or Windows SSH server. Key Features: Ends with the exit code from the remote command/script. Both 'stdout' and 'stderr' from the remote task are returned to the integration 'stdout'. The 'stderr' is used for messages from the integration itself. Tested with the Universal Agent bundled Python distribution.Set different log-levels for the integration, providing you amounts of information to suit your needs. Supports both Linux/Unix and Windows. Additional Information: Users should note that this integration is unable to provide the following functionalities that are typically available for tasks that execute on a Universal Agent: No agent visibility, status, or alerting. The remote command or script cannot be cancelled from the controller interface. Canceling the SSH task will only cancel the integration Python script that initiates the SSH session. No fault-tolerant functionality. No clustering, load balancing, or broadcast functionality.