Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Name: A job name is required. No spaces are allowed and a number of characters are not allowed. 
  • Label: A label assigns a name to the workflow node that is assigned the job.
    • The same job can be re-used in the same workflow, however, the job label is unique.
  • Agent: Assignment to an Agent is required.
  • Return Code: The meaning of the job's return code has to be specified. 
    • Return Codes
      • For shell jobs the OS exit code determines the return code. By default an exit code 0 signals success, any other exit codes signal failure.
      • For JVM jobs the return code is specified by the job implementation.
    • Values
      • Return Codes are integer values within the range from 0 to 9999.
      • A number of return codes can be specified separated by a comma. 
    • On Success / On Error
      • Either successful return codes can be specified or return codes signaling failure.
      • If a job terminates with a return code that is not indicated with the successful return codes or that is stated with return codes signaling failure then the job is considered to have failed. For further details see the chapter below on Error Handling.
  • Executable Type: Allows the job implementation to be selected as a shell job or a JVM job.
    • For shell jobs the Job Property Editor displays the Script subtab and Environment Variables sub-tab.
    • For JVM jobs the Job Property Editor displays the Java subtab.
  • Script Subtab
    • This tab holds the input field for the job script. 

    • The right upper corner of this tab offers a pencil icon to invoke the script editor should more than a few commands be added to the job script



    • The script editor offers syntax highlighting, capabilities for search & replace, undo & redo etc. Closing the script editor by use of the Submit button will add the script content to the script subtab.
  • Java Subtab
    • For jobs assigned the JVM job class the Java subtab is displayed to enter the name of the Java class used for this job.
    • The JS7 release includes JS7 - Job Templates that can be specified with their Java class name. StatuscolourYellowtitleTODO

Optional Job Properties

Job Properties Tab

  • Title: A title that will be displayed in the relevant views can be added to a job.Job Class:  StatuscolourYellowtitleTODO
  • Compatibility: For users of JobScheduler branch 1.x a compatibility mode is available.
    • For use of environment variables compatibility enables
      • the automatic creation of environment variables for shell jobs from any available order variables and job arguments.
      • the use of the SCHEDULER_PARAM_ prefix for any environment variable created.
    • For use of job arguments the compatibility mode offers a corresponding tab.
  • For Shell Jobs: Environment Variables Subtab
    • Environment variables for job scripts have to be specified by a mapping:



    • The mapping includes specification of a name for the environment variable that has to comply with OS requirements. Names are automatically converted to uppercase. The GUI offers the list of order variable names for the mapping to environment variables.
    • The value of an environment variable is an expression that can be specified:
      • as a reference to a variable using the $variableName syntax
        • consider that no leading or trailing spaces are allowed for references.
      • as a string which is a sequence of characters
        • enclosed with single quotes to allow literal use of any characters, including the $ character. The only character not allowed for a string is a single quote.
        • enclosed with double quotes to allow mixed use of characters and variables. A $ character is considered as a prefix for a variable.
    • The advantage of the above mapping is the fact that:
      • you publish environment variables only that are required by a job instead of creating an arbitrary number of environment variables from any order variables and job arguments,
      • you limit the risk of overwriting existing shell environment variables, e.g. when passing an order variable with the name "PATH" then this would overwrite a shell environment variable with the same name.

...

  • Node properties include the list of default arguments that are available from the respective job node:



  • The use case for node arguments includes using the same job a number of times in a given workflow with different parameter sets.
    • Assume that the job requires the same parameter names to be used.
    • However, for each occurrence of the job in a workflow different parameter values should be used.
  • In this situation node arguments can be introduced that specify variables with the same name but with different values for each occurrence of a job in the workflow.
    • Names of node arguments should not interfere with order variables as otherwise the node argument values will be overwritten by order variable values.
    • For shell jobs node arguments have to be mapped to environment variables similarly to order variables. 
    • For JVM jobs node arguments are available from Java objects exposed to the job implementation.

Error Handling

By design the The Job Instruction provides no capabilities for handling to track job errors. The Job Instruction is limited to determining  

  • determines if the job's return code signals success or error.
  • can be configured to check if a job did write any output to the stderr channel and to fail the job if such output exists.

Error handling for jobs Instead, any error handling is performed by workflow instructions:

...