Writing Workflow Auto Task Scripts

Target Audience: This article is meant for IT staff or software developers who need to create automation within the Zoom Workflow Framework. Please configure the auto task folder on the Zoom DAM server where auto task scripts will reside as described here.

Zoom Workflow framework supports inserting an auto task in the activity graph for a given job. When the workflow reaches the auto task, a script or an executable attached to the auto task is executed on the Zoom server. This allows the auto task to be the basis for custom automation. The automation can pull or push data/metadata to the Zoom repository.

Task Arguments

The auto task script or an executable is passed the following positional arguments in the order below:

--taskId <taskId>
--taskName <taskName>
--jobId <jobId>
--jobName <jobName>
--project <projectName>
--logFile <logFilePath>
Argument NameDescription
taskIdThe unique ID assigned to the task by Zoom Workflow
taskNameDisplay name of the above taskId
jobIdThe unique ID assigned to the overall job by Zoom Workflow
jobNameDisplay name of the above jobId
projectNameThe project name corresponding to this job. This is used by many Zoom commands such as Find command
logFilePlaceholder, ignore
task_assigned_filesSpace-separated list of fully qualified file paths in Zoom repository that were routed to or assigned to this task.  If the length of the assigned file paths is expected to be too long, leading to their truncation by command line shells, “zm mytaskfiles” command can be issued with the taskId and jobId specified to get a list within the auto task.
Tip: Currently there are 12 positional arguments before the file list if you are parsing the auto task command line arguments.

The auto scripts often use the “zm” executable to push/pull data from Zoom. The executable is bundled on all platforms (Mac, Linux, Windows) under the {zoom-install-dir}/bin. To see more usage/help including the supported commands and sub-commands please execute, “zm help”, on the command line for instructions.

Supported Programming Languages: Auto task scripts can be written in any programming language such as Python, Perl, Windows BAT, PowerShell, Java etc.

Sample Auto-task Scripts Explained

Sample Script #1: A Windows Batch Script to checkout assets from a workflow task into a non-working copy folder.

Line 16: Sets the Zoom Server URL to connect to

Line 19: Sets the zm command to execute with various arguments

Line 21: Captures captures all the parameters passed to the auto task script by Zoom Workflow Module.

Line 21: Execute the Zoom checkout commands to export the files out of Zoom and copies it to a %destDir% folder.

Sample Script #2: A Linux Perl based Auto Task Script

Line 18-24: Iterate over all the arguments passed into the auto task script by the Zoom Workflow module. In this case, we are only interested in the file paths passed into the task

Line 26-30: Once we have the file paths passed into the task, we can execute zm commands or Zoom JSON APIs.

Leave a Comment