Variables are used to allow for the dynamic configuration of endpoints, to support passing of data between operations, and to drive detailed integration logic with transformation scripts.
Jitterbit supports multiple types of variables with varying scope, including local, global, project, and Jitterbit variables. In addition, keyword substitutions are available to use with filename fields.
Integration best practice suggests that you use the variable that is most limited in scope, in order to minimize the risk of changing variable values across multiple components in the project.
Some ways in which variables can be used include these popular use cases:
- Data files are passed between operations by storing them in a global variable.
- Variables are mapped to target fields in a transformation, providing dynamic mapping capabilities.
- Connection URLs, parameters, and credentials are populated with project variables, which may be set or changed from the Management Console during operation runtime.
As to the performance difference between the different types of variables, local variables are preferred since they are not persisted for other operations. Global and project variables must be cached for other operations. See Global Variable versus Temporary Storage for recommendations on when it is appropriate to use these two types.
These pages are included in this topic:
Local variables are the most limited in scope. They are declared within a script and can be accessed only within that script.
Global variables are declared in an operation and are then available to be referenced in the same or downstream operations and scripts. Downstream operations may be within the same or downstream workflows, as linked with operation actions.
Project variables are set before runtime of the operation and become available to use across all workflows in the project. Since project variables can be set through the Management Console and within Citizen Integrator, they provide the flexibility to set and change parameters and credentials without redeploying the project.
Jitterbit variables are predefined by the Harmony system and can be used to easily fetch global information such as the name of the current source file and other useful information. The default values of Jitterbit variables can also be temporarily overwritten in a script.
If using a Private Agent, you can also programmatically change the behavior of Jitterbit by modifying the Private Agent configuration file to change the default value of a predefined Jitterbit variable or to create and predefine your own Jitterbit variable. Creating or updating Jitterbit variables using the config file is not available for Cloud Agents.
Filename keywords are used to generate unique filenames for configurable fields that take filenames as input. These include certain fields available when configuring file-based endpoints.