Control-M Automation API 9.0.18 Home
This space contains information about the Control-M Automation Application Program Interface (API) associated with Control-M/EM version 9.0.18.
Control-M integrates the management of batch workload processes to a single point of control. With cross-application and cross-platform scheduling capabilities, this powerful solution accelerates delivery of digital services and increases the quality of service delivered to users and the business.
With Control-M you:
- Gain a faster, more cost-effective way to manage workload with a unique architecture that supports growth and provides unmatched integration.
- Reduce the number of failure points and delays caused by manual processes with a single, unified scheduling interface — regardless of platform or application.
- Eliminate your reliance on multiple toolsets and staff resources with automated scheduling processes that help you manage priorities according to business needs.
- Accelerate delivery of digital services by connecting Applications Development and IT Operations using a collaborative web application.
Control-M Automation API is a set of programmatic interfaces that give developers and DevOps engineers access to the capabilities of Control-M within the modern application release process. Job flows and related configuration objects are built in JSON and managed together with other application artifacts in any source code management solution, such as GIT. This approach enables capabilities such as sophisticated scheduling, flow control, and SLA management to be built in right from inception and used during the running of batch applications as they are automatically deployed in dev, test, and production environments.
Control-M Automation API provides an automated interface to Control-M in addition to the graphical user interfaces that have been used traditionally. With Control-M Automation API, you manage job workflows as code, similar to the way modern configuration management solutions manage infrastructure as code. The actual execution of batch jobs is managed by Control‑M.
You can use a Command Line Interface or the REST API to build, run, and test jobs against an existing Control-M instance. A local workbench provides initial job flow unit testing functions, which are a subset of the complete set of Control-M capabilities. Once your flows are ready, you can check them into your source control system with the rest of your project files. The Automation API provides services to package and deploy job flows to the Control-M environment. Control-M schedules and operates on the most recently deployed flows.
Additionally, Control-M Automation API provides services to provision Control-M/Agent machines, configure host groups, and more.
No prior experience with Control-M is required to write jobs. Work through this Guide and its tutorials to get started. The guide introduces you to the concepts of Control-M Automation API with some examples of flows. You can get more information about creating jobs by following the steps from the tutorial of Creating your first job flow. You can find more information about accessing Control-M Automation API services to build, test, and deploy your jobs on the Installation page.
Control-M in a nutshell
In order to make use of Control-M Automation API effectively, you must be familiar with the following Control-M concepts:
- Host groups
- Site standards
A Job is a basic execution unit of Control-M. A job has several attributes, such as:
- What is the job type: script, command, Hadoop/Spark, file transfer, etc.
- Where does this job run: host
- Who runs the job: connection profile or run as
- When should it run: scheduling criteria
- What are the job dependencies: a specific job must complete, a file must arrive, etc.
Jobs are contained in folders, which can also have scheduling criteria, dependencies, and other instructions that apply to all jobs in the folder. You define these entities in JSON format.
The scheduling engine of Control-M is the Control-M/Server. Once a day it reads job definitions and starts monitoring all jobs scheduled to start on that day. These are then submitted to run on Control-M/Agents when scheduling criteria and dependencies are met.
Control-M/Agents reside on the application hosts. You can group them into a host group. Specifying a job to run on a host group causes Control-M/Server to balance the load by directing jobs to the various hosts in the host group.
Site Standards are a set of naming rules for the different job fields. When using them, only jobs that match the relevant site standard can be built and deployed to that Control-M. Site standards are available as part of Control-M Workload Change Manager add-on.
For more information about Control-M solutions, refer to the Control-M Online Help.
Control-M Automation API decentralizes access to Control-M entities and provides them directly to developers. When using the Control-M Automation API, you access Control-M via a REST API HTTP endpoint.
To install the Control-M Automation API, you can choose between the following options:
- Install the Control-M Workbench, which includes the Control-M REST API.
Control-M Workbench provides a development environment that enables you to build, run, and test your job flows. Using the Workbench, you can make changes and validate your changes without effecting the work of other stakeholders.
- Perform a standard installation of Control-M. The Control-M REST API is available from the Control-M/Enterprise Manager.
In addition to the option of sending REST API requests, you can also run the Control-M API commands via a command line interface (CLI). The Control-M Automation CLI is available for installation as a Node.js package.
For more information about these installation options and installation tasks, see Installation.
To get you started, BMC provides you with a group of tutorials to introduce you to common best practices of using Control-M Automation API. See Tutorials.