Introduction

Job Resources are a means to make:

  • shared Environment Variables available to Shell Jobs and
  • shared Arguments available to JVM Jobs.

In fact a job resource is a set of name/value pairs that can be assigned any job or workflow.

  • This allows common sets of arguments and environment variables to be used for a number of workflows and jobs.
  • When assigned to a workflow then arguments and environment variables from a job resource are available to any Shell Jobs and JVM Jobs in that workflow.

Defining Job Resources

Job Resources can be managed from the Configuration->Inventory view

Defining Arguments


Explanation:

  • A Job Resource includes any number of name/value pairs that are propagated as Arguments/Environment Variables to JVM Jobs and to Shell Jobs.
  • A Job Resources offers two subtabs for Arguments and for Environment Variables.
  • Arguments and Environment Variables can be assigned constant values and expressions, for details see
  • The example above shows the Default Job Resource with Arguments for JVM Jobs that ships with JS7. 

Defining Environment Variables


Explanation:

  • Environment Variables for Job Resources can be assigned constant values, expressions and Arguments of the same Job Resource (see above).
    • This allows to offer the same Arguments and Environment Variables to both JVM Jobs and Shell Jobs.
    • If both Arguments and Environment Variables use calculated values as e.g. the number of milliseconds since January 1st 1970 until the job starts, it is recommended that only the Argument is calculated and that the Argument is then assigned to the Environment Variable using the argument's name.
  • The example above shows the Default Job Resource with Environment Variables for Shell jobs that ships with JS7. 
    • Assigned values include Arguments as described above.

Example

The below example from the Arguments sub-view defines an argument script_home and assigns the value of the $HOME OS environment variable for Unix by use of the env() function.

For Windows the corresponding assignment is: env('HOMEDRIVE', "") ++ '\' ++ env('HOMEPATH', "\")

Download example (upload .json): pdJobResourceShell.jobresource.json


Note:

  • Argument values are expressions, not strings. Arguments do not substitute OS environment variables as from $HOME, instead the env() function is used.
  • Arguments cannot include references to other arguments.
  • The ordering of arguments is not relevant.

The below example explains use of arguments in the Environment Variables sub-view:


Note:

  • Environment variables carry values from expressions, not strings.
  • Environment variables can reference arguments as the $script_home argument from the above example.
    • There is no difference if the environment variable is directly assigned: env('HOME', "")
  • Environment variables can be assigned values that concatenate arguments, strings and functions.
    • The concatenation operator is: ++
    • Strings are quoted with single quotes.
    • The function env() can be used.

Assignment to Workflows and Jobs

Assignment to Workflows

A workflow can be assigned any number of Job Resources. The property editor offers a widget to select one or more Job Resources:


Explanation:

  • Environment variables from Job Resources are available to all Shell Jobs in a workflow.
  • No mapping at job level is required, environment variables are directly available for job scripts.
  • The ordering of Job Resource assignments is relevant as environment variables with the same name are not overwritten in the order from the first to the last Job Resource assignment.

Assignment to Jobs

The job properties panel provides a list-box for adding any number of Job Resources.


Deployment

Job Resources have to be deployed to the Controller operating the workflow, which is referenced by the Job Resource.

  • Job Resources are digitally signed for deployment.
  • Job Resources are not maintained in versions. This translates to the fact that deployment of a modified Job Resource will make this resource immediately available for existing workflows.
  • Job Resources cannot be removed as long as a reference is available from a deployed workflow.

Default Job Resource

A number of Arguments and Environment Variables can be provided from default Job Resources. These are available for download and can be assigned any workflows and jobs.

For download and explanations see JS7 - Job Environment Variables.




  • No labels