You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Introduction

Users can define their own job templates for use with workflows.

  • Job templates can be applied to re-use existing jobs in a number of workflows.
  • Job templates can be used to update any workflows that include jobs that have been derived from a given job template.

User Defined Job Templates are available for Shell Jobs and for JITL Jobs.

  • Access to Job Templates is subject to folder permissions.

FEATURE AVAILABILITY STARTING FROM RELEASE 2.4.1

Managing Job Templates

Adding Job Templates

Job Templates are available from the Configuration->Inventory view. They are offered from object folders with the same name that are available in any user folder:


When clicking the New Job Template button a popup window is displayed that asks for the name of the Job Template:


An empty Job Template is added to the list of objects in the current folder:


When clicking the name of the Job Template then the a window is displayed to add properties to the Job Template.

Adding Job Properties to Job Templates

Properties to a Job Template correspond to the properties of a job in a workflow, see JS7 - Job Instruction.


Explanation:

  • The above example is used to create a Shell Job. Any properties available for Shell Jobs can be added, see JS7 - Job Instruction.
  • The Update Jobs button allows to update any jobs referencing the Job Template from the released version of the template.
  • This window offers the same sub-views for Script, Argument, Environment Variables and Notification as for any job.
  • Job Templates are not deployed to a Controller or Agent. Instead, they are released to allow use with workflows.

Adding Arguments to Job Templates

Arguments can be added to a Job Template by clicking the Arguments tab:

  • Arguments can be used for Shell Jobs and for JITL JVM Jobs.
    • For Shell Jobs the Job Template's arguments are added to the Node Arguments.
    • For JITL JVM Jobs arguments are added to the Job Arguments.


Explanation:

  • Any number of arguments can be added.
  • Each argument is specified by its Name, Data Type and optionally its Value.
    • Consider that argument names are case-sensitive.
    • The data type can be one of String, Number or Boolean.
    • Values have to correspond to their data type, for example a value true or false matches the Boolean data type.
    • Empty values are allowed, consider to use the Required checkbox.
  • Arguments can be specified to be Required. When creating a job from a Job Template the user has to specify a value for a required argument.

Adding Environment Variables to Job Templates

Environment Variables can be added to a Job Template by clicking the Arguments tab:

  • Environment Variables can be used for Shell Jobs only.
    • The Job Template's Environment Variables are added to the job's environment variables.
    • Environment Variables can reference Arguments should these be available from the Arguments tab.

Updating Job Templates

Job Templates can be selected from the tree panel in the Configuration->Inventory view.

  • Users can modify any attributes of a Job Template.
  • After the Job Template is released related jobs can be updated from the Job Template.

Scoping Jobs to be updated from Job Templates 

When modifying properties of a Job Template users have the option to propagate changes to jobs that have been derived from the given Job Template. This operation is available

  • from the Job Template that offers the Update Jobs button.
    • The operation is used to update any workflows that include jobs derived from the current Job Template and to select specific workflows for update.

  • from any user folder including the top level folder that offer the action menu in the tree panel to Update Jobs from Templates.
    • The operation updates any jobs included with any workflows located in folders recursively from any referenced Job Templates.



  • from the Workflow's action menu in the tree panel that offers to Update Jobs from Templates.
    • The operation updates any jobs in the workflow from any referenced Job Templates.



  • from the Job that offers an action menu in the JS7 - Workflow Editor. to Update from Job Template.
    • The operation updates the current job in the workflow. Should the same job occur a number of times in the workflow then all occurrences reflect the update.



When clicking the Update Jobs button from a Job Template and when using one of the related action menu items at folder level then a popup window with a list of workflows is displayed that include jobs making use of Job Templates.

  • The popup window
    • allows to filter for draft workflows and deployed workflows.
    • allows to specify if job properties related to JS7 - Notification and JS7 - Admission Times for Jobs should be updated.
    • displays a blue bullet for deployed workflows and an orange bullet for draft workflows that include affected jobs.
    • displays the status
      • synchronized for workflows that hold jobs that are in sync with the Job Template, i.e. use the same properties and values.
      • not synchronized for workflows that include jobs that are not in sync with the Job Template.
  • Users can select individual workflows or all workflows recursively to be updated.
    • The update step includes to add or to modify a job's properties from the Job Template.
    • Consider that updating workflows from a Job Template will create a draft of the given workflow and requires later deployment of the workflow.

Job Properties subject to Updates form Job Templates

When updating jobs in workflows from a changed Job Template then

  • the following properties will not be updated:
    • Job Properties
      • Job Name
      • Label
      • Agent
    • Job Options
      • Skip Job if no admission for Order's date
  • the following properties will be updated:
    • Job Properties
      • Job Template: Reference to the Job Template that includes the name and hash of the Job Template in use
      • Title
      • Documentation: Reference to the JS7 - User Documentation
      • Job Resources: References to JS7 - Job Resources
      • Return Codes: On Success, On Failure
      • Return Codes: On Warning
      • Job Class: Shell Job or JITL JVM Job
      • Script/Class Name: Content of a Shell job script or Java class of a JVM job.
    • Job Options
      • Parallelism
      • Timeout
      • Grace Timeout
      • Warn on shorter execution period
      • Warn on longer execution period
      • Criticality
      • Fail on output to stderr / Warn on output to stderr
      • Admission Times: users can choose to overwrite existing properties when updating the job.
    • Notification
      • Mail related properties for job notifications: users can choose to overwrite existing properties when updating the job.
    • Parameterization
      • Arguments:
        • For Shell Jobs arguments are added to the job's Node Arguments
        • For JITL Jobs arguments are added to the job's Arguments
        • The update of Arguments is performed in a way that
          • in case they are added to the Job Template then they will be added to the job,
          • in case they are removed from the Job Template then they will be removed from the job,
          • in case of changes to arguments in the Job Template the changes will not be applied when updating jobs.
      • Environment Variables
        • Names and values of Environment Variables are updated from the Job Template;
          • this includes to add Environment Variables that have been added to the Job Template,
          • this includes to remove Environment Variables that have been removed from the Job Template.

Removing Job Templates

Job Templates can be removed using the Remove action menu item that is available from the tree panel

  • for individual Job Templates,
  • for Job Templates at any folder level.

Searching Job Templates

TODO

Resources



  • No labels