Versions Compared

Key

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

...

Expression
"abc" ++ "def"
JSON"var": "\"abc\" ++ \"def\""

Logical Operators

Check a Boolean expression and if it evaluates to false then an alternative value is returned.

Example:

Expression
false orElse true
JSON"var": "false orElse true"

Conversion

Convert to Number

...

  • $js7JobName
    • The name of the current job for which an order is executed.
  • $js7JobExecutionCount
    • A counter for the number of times that the same job node is executed within a workflow, e.g. if used with the JS7 - Retry Instruction
  • $epochMilli
    • The number of milliseconds since January 1st 1970 UTC.
  • $returnCode
    • The numeric exit code of the current job for which an order is executed.

...

Built-in Functions

  • env( string: <environment-variable>, string: <default> )
    • The function reads the value of an existing OS environment variable. The name has to be specified in correct uppercase/lowercase spelling.
    • If the environment variable does not exist then an error is raised and the Order fails. Alternatively an optional default value can be specified.
    • Examples:

      Expression
      env( ('JS7_AGENT_CONFIG_DIR')
      JSON"env( 'JS7_AGENT_CONFIG_DIR' )"
      Sample Value/var/sos-berlin.com/js7/agent/var_4445/config
      Expression
      env( 'JAVA_HOME', '/usr/lib/jvm/java-1.8-openjdk' )
      JSON"env( 'JAVA_HOME', '/usr/lib/jvm/java-1.8-openjdk' )"
      Sample Value/usr/lib/jvm/java-1.8-openjdk
      Expression
      env( 'HOSTNAME', env( 'COMPUTERNAME' ) )
      JSON"env( 'HOSTNAME', env( 'COMPUTERNAME' ) )"
      Sample Value2021-05-03 07:30:42

      This example assumes the $HOSTNAME environment variable to be available for Agents running on Unix or the %COMPUTERNAME% environment variable to be available for Agents with Windows.


  • now( format='yyyy-MM-dd hh:mm:ss', timezone='Europe/Berlin' )
    • The job start date. This date can be formatted using Java date qualifiers. Optionally a time zone can be specified, by default the UTC time zone is used.
    • Examples:

      Expression
      now( format='yyyy-MM-dd' )
      JSON"now( format='yyyy-MM-dd' )"
      Sample Value2021-05-03
      Expression
      now( format='yyyy-MM-dd hh:mm:ss' )
      JSON"now( format='yyyy-MM-dd hh:mm:ss' )"
      Sample Value2021-05-03 07:30:42
      Expression
      now( format='yyyy-MM-dd  hh:mm:ssZ', timezone="Europe/Berlin" )
      JSON"now( format='yyyy-MM-dd hh:mm:ssZ', timezone=\"Europe/Berlin\" )"
      Sample Value2021-05-03 09:30:42+02:00

...

  • jobResourceVariable( string: <JobResource>, string: <Variable> )
    • The function provides access to JS7 - Job Resources: it reads from the Job Resource specified with the first argument and returns the value of the Job Resource variable specified with the second argument. The function is evaluated by the Controller when adding an order. It is therefore not required to specify the requested Job Resource outside of the function. In fact the Controller reads the respective variable values from the indicated Job Resources and adds them to an Order Variable that is consider final and cannot be modified later on.
    • This function can be used with the variable declaration of a workflow only. It cannot be used with later job arguments or environment variables. When declaring the order variable with the workflow then the final data type has to be used.
    • Examples:

      Expression
      jobResourceVariable( 'database', 'db_user' )
      JSON"jobResourceVariable( 'database', 'db_user' )"
      Sample Valuescott
      Expression
      jobResourceVariable( 'database_' ++ $country, 'db_userpassword' )
      JSON"jobResourceVariable( 'database_' ++ $country, 'db_userpassword' )"
      Sample Valuetiger

      This example dynamically specifies the name of the Job Resource by concatenating the fixed value 'database_' and the value of the $country order variable. 


  • JobResource:<JobResource>:<Variable>
    • The function returns the value of the specified <Variable> from the given <JobResource>.
    • Consider the shorthand syntax that does not use brackets
    • Examples:

      Expression
      JobResource:database_uk:db_user
      JSON"JobResource:database_uk:db_user"
      Sample Valuescott



      Expression
      JobResource:database_uk:db_user orElse 'scott'
      JSON"JobResource:database_uk:db_user orElse 'scott'"
      Sample Valuescott

      This example reads the db_user variable from the database_uk Job Resource. If the variable does not exist then the default value 'scott' is used.

Further Resources