Versions Compared

Key

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

...

Job Resources are assigned a workflow to make variables available to all included jobs or they are assigned invidual jobs. When a Job Resource is updated then JS7 takes care that all Agents assigned to jobs that make use of the Job Resource will receive an the updated copy of the Job Resource.

...

  • to make global settings such as paths etc. available from environment variables for shell jobs.
  • to store encrypted secrets to Job Resources variables that can be decrypted by jobs. For details see see JS7 - Encryption How to encrypt and Decryptiondecrypt.
  • to store configuration files to Job Resource variables. The JS7 will make the configuration file available from a temporary file files per job instance with releated Agents. Configuration files can be encrypted before being added to Job Resources, accordingly jobs can decrypt configuration files on-the-fly. On termination of the job instance temporary files are removed by JS7 Agents.

The JS7 offers to perform any operation on job resources, orders, workflows, jobs etc. Job Resources by the JS7 - REST Web Service API, for details see the /inventory resource from the Technical Documentation of the REST Web Service API.

The Job Resource Update cmdlet introduced in this article can be used to create and to update variables in to JS7 - Job Resources.

Job Resource Update Cmdlet

See For cmdlet syntax see PowerShell CLI 2.0 - Cmdlets - Set-JS7JobResource

...

PowerShell CLI 2.0 - Cmdlets - Invoke-JS7Encrypt

Examples

The following examples illustrate typical use cases.

Update Job Resource Variable

Code Block
languagepowershell
titleExample for Update of a Job Resource Variable
linenumberstrue
Set-JS7JobResource `
    -Path /ProductDemo/Variables/pdBusinessDate `
    -Key businessDate `
    -Value (Get-Date (Get-Date).ToUniversalTime() -Format 'yyyy-MM-dd') `
    -EnvVar 'BUSINESS_DATE'

# updates the Job Resource variable "businessDate" from the current date UTC
# receiving jobs can use the "BUSINESS_DATE" environment variable to receive the current value

Update Job Resource Variable from File

Code Block
languagepowershell
titleExample for Update of a Job Resource Variable
linenumberstrue
Set-JS7JobResource `
    -Path /ProductDemo/Variables/pdConfigurationData `
    -Key configurationData `
    -File ./config.ini `
    -EnvVar 'CONFIGURATION_DATA'

# updates the "configurationData" Job Resource variable "configurationData" from the configuration file specified
# receiving jobs use the "CONFIGURATION_DATA" environment variable that specifies the path to a temporary file holding the configuration data

Update Job Resource Variable from Encrypted Value

Code Block
languagepowershell
titleExample for Update of a Job Resource Variable
linenumberstrue
Set-JS7JobResource `
    -Path /ProductDemo/Variables/pdBusinessSecret `
    -Key businessSecret `
    -Value 'secret' `
    -EnvVar 'BUSINESS_SECRET' `
    -EncryptCertificatePath $env:JS7_AGENT_CONFIG_DIR/foobar.crt `
    -JavaLib $env:JS7_AGENT_HOME/lib
 
# updates the Job Resource variable "businessSecret" from somethe given value
# encrypts the value of the "businessSecret" variable will be encrypted using an Agent's certificate from the foobar.crt file
# specifies the valuelocation of the "businessSecret" variable holds the encrypted symmetric key, initialization vector and encrypted secret
# the foobar.crt certificate file can be located anywhere in the file system
# the JS7 encryption libraries specified with -JavaLib that ship with Agents and that are available for download if used outside of JS7 products

Update Job Resource Variable from Encrypted File

Code Block
languagepowershell
titleExample for Update of a Job Resource Variable
linenumberstrue
Set-JS7JobResource `
    -Path /ProductDemo/Variables/pdConfigurationDataSecret `
    -Key configurationDataSecret` `
    -File ./config.ini `
    -EnvVar 'CONFIGURATION_DATA_SECRET' `
    -EncryptCertificatePath $env:JS7_AGENT_CONFIG_DIR/foobar.crt `
    -JavaLib $env:JS7_AGENT_HOME/lib
 
# updates the "configurationDataSecret" Job Resource variable "configurationDataSecret" from the configuration file specified
# encryptes the contentscontent of the file will be encrypted using the target Agent's certificate from the foobar.crt file
# ancreates the additional variable "configurationDateSecret_key" and the environment variable "CONFIGURATION_DATA_SECRET_KEYkey" will be created that both hold the encrypted symmetric key and initialization vector
# the foobar.crt certificate file can be located anywhere in the file system
#specifies the location of the JS7 encryption libraries specifiedthat with -JavaLib ship with Agents and that are available for download if used outside of JS7 products

...