Deploy service


The deploy service allows you to transfer job and configuration definitions to Control-M. Once a job is deployed, it will be scheduled by Control-M according to its scheduling criteria and dependencies. The deploy overwrites any existing definition of the same name.

deploy

Deploy the provided definitions file to Control-M. Build will take place as part of the deploy to ensure code validity. deploy can receive definitions files for folders or jobs in .json format or Control-M import/export .xml format, or a package of multiple job definition files in .zip or .tar.gz format.

CLI Syntax

CLI
ctm deploy <definitionsFile> [deployDescriptorFile]

Parameter

Description

<definitionsFile>

The definitions file name

Valid file formats are:

[deployDescriptorFile]

(Optional) The file that includes the rules to apply on the original definitionsFile. The rules enable transforming Control-M JSON code properties. For detailed information, see Deploy-Descriptor.

If annotation is enabled for the Scheduling definitions, Configuration management, or Control-M security category in Control-M, you must also provide an annotation to justify your action. For more information, see Annotation input.

REST API Syntax

See REST API reference.

Example using curl:

curl -H "Authorization: Bearer $token" -X POST  -F "definitionsFile=@examples/AutomationAPISampleFlow.json"
-F "deployDescriptorFile=@examples/deployDescriptor.json"  "$endpoint/deploy"

deploy jobs::get

Returns the definition of jobs and folders in the requested format that match the search criteria.

CLI Syntax

CLI
ctm deploy jobs::get [format] -s <search query>

Parameter

Description

format

The format in which to return the output, one of the following:

  • json — JSON format (the default)
  • xml:job — Control-M import/export .xml format, as used by the defjob utility
  • xml:folder — Control-M import/export .xml format, as used by the deffolder utility

-s  is used to run a search using the query string format. The following table includes the fields that can be used in the search query:

Field

Criteria

Criteria example

  • ctm
  • folder
  • Supported wildcards are *, ?
  • To specify multiple values for a field, use commas.
  • To use multiple criteria, separate by using &

ctm=*&folder=*

ctm=*&folder=Auto*

ctm=workbench&folder=AutomationAPISampleFlow

For example, the following command shows how to get a job in a JSON format for all the folders that start with Automation:

ctm deploy jobs::get -s "ctm=*&folder=Automation*"

REST API Syntax

See REST API reference.

>curl -k  -H "Authorization: Bearer $token"  "$endpoint/deploy/jobs?ctm=*&folder=Auto*"
 
>curl -k  -H "Authorization: Bearer $token"  "$endpoint/deploy/jobs?ctm=*&folder=Auto*&format=XML"

deploy connectionprofiles::get

Returns the connection profiles that match the search criteria.

CLI Syntax

CLI
ctm deploy connectionprofiles::get -s <search query>

Use the required -s option to specify a query string to search for. The following table includes the fields that can be used in the search query:

Field

Criteria

Criteria example

  • ctm
  • agent
  • type
  • No wildcards supported
  • To use multiple criteria separate by using &
  • For type (of connection profile) choose from the following options:
    • Hadoop
    • Database
    • FileTransfer
    • ApplicationIntegrator:<customType>
    • Informatica
    • SAP

ctm=workbench&agent=agent&type=Database

REST API Syntax

See REST API reference.

endpoint=https://<controlm>:8443/automation-api
token=
ctm=
agent=
type=
curl -X GET -H "Authorization: Bearer $token"  "$endpoint/deploy/connectionprofiles?ctm=$ctm&agent=$agent&type=$type"

deploy connectionprofile::delete

Deletes the connection profile.

CLI Syntax

CLI
ctm deploy connectionprofile::delete <ctm> <agent> <type> <name>

Parameter

Description

<ctm>

Name of Control-M/Server

<agent>

Host name or alias of the Control-M/Agent. This is the logical name of the Control-M/Agent

<type>

Type of connection profile, one of the following:

  • Hadoop
  • Database
  • FileTransfer
  • ApplicationIntegrator:<customType>
  • Informatica
  • SAP

<name>

Name of the connection profile

If annotation is enabled for the Control-M security category in Control-M, you must also provide an annotation to justify your action. For more information, see Annotation input.

REST API Syntax

See REST API reference.

endpoint=https://<controlm>:8443/automation-api
token=
ctm=
agent=
type=
name=
curl -X DELETE -H "Authorization: Bearer $token"  "$endpoint/deploy/connectionprofile/$ctm/$agent/$type/$name"

deploy folder::delete

The delete folder command enables you to delete a folder.

CLI Syntax

CLI
ctm deploy folder::delete <ctm> <folderName>

Parameter

Description

<ctm>

Name of the Control-M/Server

<folderName>

Name of the folder to delete

If annotation is enabled for the Scheduling definitions category in Control-M, you must also provide an annotation to justify your action. For more information, see Annotation input.

REST API Syntax

See REST API reference.

endpoint=https://<controlm>:8443/automation-api
token=
ctm=
folder=
curl -X DELETE -H "Authorization: Bearer $token"  "$endpoint/deploy/folder/$ctm/$folder"

deploy transform

The transform command enables you to apply the rules of the deployDescriptorsFile to the original definitionsFile.  The rules define the method to use that change the values of the JSON code properties in the original defintionsFile. 

CLI Syntax

CLI
ctm deploy transform <definitionsFile> <deployDescriptorFile>

Where:

Parameter

Description

<definitionsFile>

The file or archive that contains code for jobs.

Valid formats are:

  • .json format
  • .zip or .tar.gz

<deployDescriptorFile>

The file that includes the rules to apply on the original definitionsFile. The rules enable transforming Control-M JSON code properties. For detailed information, see Deploy-Descriptor.

REST API Syntax

See REST API reference.

curl -H "Authorization: Bearer $token" -X POST  -F "definitionsFile=@examples/AutomationAPISampleFlow.json"
-F "deployDescriptorFile=@examples/deployDescriptor.json"  "$endpoint/deploy/transform"

deploy ai:jobtype

This command enables you to deploy an Application Integrator job type to the Control-M/Agent to allow it to run.

The response notifies you whether the deployment succeeded or failed.

Note: Deployment of an Application Integrator job type is supported in Control-M environments with Control-M/Enterprise Manager version 9.0.19.100 or later.

CLI Syntax

CLI
ctm deploy ai:jobtype <ctm> <agent> <jobTypeId>

Parameter

Description

<ctm>

Name of the Control-M/Server

<agent>

Host name or alias of the Control-M/Agent. This is the logical name of the Control-M/Agent

<JobTypeId>

ID for the custom job type defined through Control-M Application Integrator

The corresponding setting in Control-M Application Integrator is Plug-in ID. For more information, see Job:ApplicationIntegrator.

REST API Syntax

See REST API reference.

token=
endpoint=https://<controlm>:8443/automation-api
ctm=
agent=
jobType=
curl -X POST -H "Authorization: Bearer $token"
"$endpoint/deploy/ai/jobtype/?ctm=$ctm&agent=$agent&jobTypeId=$jobType"

deploy ai:jobtypes::get

This command enables you to get details of deployed Application Integrator job types that match a specified search query.

CLI Syntax

CLI
ctm deploy ai:jobtypes::get [-s <search query>]

The optional -s option enables you to limit the list to job types that match specified criteria. The format for the query string is "field1=criteria1&field2=criteria2", according to the following guidelines:

Fields

Criteria

Example

  • jobTypeName
  • jobTypeId

As wildcards, use asterisks (*).

"jobTypeName=startName*&jobTypeId=*partOfID*"

If you include both fields in the query, separate them with an ampersand (&).

REST API Syntax

See REST API reference.

token=
endpoint=https://<controlm>:8443/automation-api
curl -X GET -H "Authorization: Bearer $token"
"$endpoint/deploy/ai/jobtypes/?jobTypeId=<ID string>&jobTypeName=<name string>"

Response

The following example response lists 3 Application Integrator job types, 2 of which are ready to deploy and one more in draft status:

{
'jobtypes': [
 {'status': 'ready to deploy', 'jobTypeId': 'CTMREMOTE', 'description': 'Track job running on remote Control-M Stack', 'jobTypeName': 'Monitor Remote Job'},
 {'status': 'ready to deploy', 'jobTypeId': 'AZUREBLOB', 'description': 'Azure blob storage', 'jobTypeName': 'Azure blob storage'},
 {'status': 'draft', 'jobTypeId': 'DRAFT4GET', 'description': 'Draft Job Type', 'jobTypeName': 'Draft Job'}
]
}

The following parameters are provided for each job type:

Parameter

Description

status

The status of the job type, either ready to deploy or draft

jobTypeId

The job type application ID (or Plug-in ID) defined in Control-M Application Integrator

For more information, see Job:ApplicationIntegrator.

description

A description of the job type, as defined (optionally) in Control-M Application Integrator

jobTypeName

The job type name defined in Control-M Application Integrator

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*