Build service

The build service allows you to compile definitions of jobs, folders, or calendars and verify that they are valid for your Control-M environment. Control-M validation includes basic Control-M rules such as length of fields, allowed characters, and mandatory fields. Build will also check that the JSON is valid.

If Control-M Change Manager is part of your solution, definitions will be evaluated against the relevant site standards. 

build can receive a definitions file in .json format or packages of multiple definition files in .zip or .tar.gz format.

CLI Syntax

CLI
ctm build <definitionsFile> [deployDescriptorFile] [StandardsFile]

Where:

Parameter

Description

<definitionsFile>

The file or archive that contains code for jobs, folders, or calendars.

Valid formats are:

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

Note: Calendar definitions are supported in .json format only.

[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.
[StandardsFile](Optional) The .json file that contains the site standards that apply to the Control-M environment. For detailed information, see Site Standards.

REST API Syntax

See REST API reference.

Example using curl:

curl -H "x-api-key: $token" -X POST  -F "definitionsFile=@examples/AutomationAPISampleFlow.json" -F "deployDescriptorFile=@examples/deployDescriptor.json" -F "StandardsFile=@examples/StandardsFile.json" "$endpoint/build"

The following example shows  how to use the build command in a Python function :

token = r_login.json()['token']
 
# -----------------
# Built
uploaded_files = [
        ('definitionsFile', ('Jobs.json', open('examples/AutomationAPISampleFlow.json', 'rb'), 'application/json'))
]
 
r = requests.post(endPoint + '/build', files=uploaded_files, headers={'x-api-key': + token}, verify=False)
print(r.content)
print(r.status_code)
exit(r.status_code == requests.codes.ok)

Response

The following example demonstrates a typical response to the build command. The response summarizes the amount of various elements created (such as folders, subfolders, jobs, and site standards) and indicates whether a Deploy Descriptor is applied.

The response also provides validation messages for site standards. An error message appears if validations are strictly enforced, or a warning message if validations are not strictly enforced.
Note: If validations are not strictly enforced, site standard warning messages are included in the build command response by default. If you do not want such warning messages included in the response, add the buildWarningsEnabled property to the automation-api.properties file, and set it to false.

{
    "deploymentFile": "Folder.json",
	"deploymentState": ""DEPLOY FOLDERS 1/1",     
 	"deploymentStatus": "ENDED_OK",
	"successfulFoldersCount": 0,
    "successfulSmartFoldersCount": 1,
    "successfulSubFoldersCount": 0,
    "successfulJobsCount": 1,
    "successfulConnectionProfilesCount": 0,
    "successfulDriversCount": 0,
	"successfulStandardsCount": 2, 
    "isDeployDescriptorValid": false,
	"warnings": [
      {
        "message": "Department has to be from values [HR, DEV, FINANCE] ",
        "id": "Validation10006",
        "item": "Job: Folder_1/os_Job_2 -> Parent Folder",
        "file": "Folder.json",
        "line": 3,
        "col": 25
      }
    ]
  }
Was this page helpful? Yes No Submitting... Thank you

Comments