Skip to Content

Invoke Operation (Beta) tool in Jitterbit Integration Studio

Introduction

The Invoke Operation (Beta) tool is a project component that is used as a step in an operation to run a specified operation that exists in the current project. It can be used as an operation step anywhere a script can be used as an operation step.

Note

To provide feedback on this beta feature, contact the Jitterbit Product Team.

Info

The RunOperation, RaiseError, and CancelOperationChain functions provide the underlying functionality for this tool.

Create an Invoke Operation instance

A new instance of an Invoke Operation (Beta) tool can be created from these locations:

An existing Invoke Operation (Beta) tool can be edited from these locations:

Configure an Invoke Operation tool

The Invoke Operation (Beta) configuration screen includes these fields and actions:

invoke operation configuration

  • Operation: Use the menu to select an operation in the current project.

  • Run type: Select whether downstream operations run synchronously or asynchronously:

    • Synchronously: When selected, the invoked (child) operation or operation chain will run sequentially from the invoker (parent) operation.

    • Asynchronously: When selected, the invoked (child) operation or operation chain will run simultaneously alongside the invoker (parent) operation.

    For more information, see Synchronicity.

  • Error handling: These error handling options are enabled when Synchronous is selected as the Run type:

    • Raise error if operation fails: When selected and the invoked operation fails, the initiating operation (that the Invoke Operation (Beta) tool is within) will fail and stop processing. Processing will continue for any On Fail operation actions configured on the initiating operation.

      A fatal error is written to the initiating operation's log messages, which can be viewed from the operation logs or the Messages tab of the Runtime Operations page:

      Fatal Error <message> This error was raised by a call to the RaiseError function.
      
    • Cancel operation chain if operation fails: When selected and the invoked operation fails, the initiating operation (that the Invoke Operation (Beta) tool is within) will continue processing. Processing will stop on the completion of that operation and not continue for any On Fail or On Success operation actions configured on the initiating operation.

    Important

    If both error handling options are enabled, an error is raised for the initiating operation and no further processing will occur in either the initiating operation or operations chained by configured On Fail actions.

  • Save Changes: After making changes to a new or existing configuration, click to save and close the configuration.

  • Discard Changes: After making changes to a new or existing configuration, click to close the configuration without saving. A message asks you to confirm that you want to discard changes.

Once configured, the Invoke Operation (Beta) instance is named the same as the name of the operation it is calling.

Note

An operation chain created using the Invoke Operation (Beta) tool does not have a visual operation reference or line on the design canvas.

Actions

The actions bar for an Invoke Operation (Beta) tool has these actions:

invoke operation

Icon Description
Go to invoked Operation navigates to the workflow where the specified operation resides. The operation is displayed with a blue border outlining the operation.
Edit opens the configuration screen.
Cut places a copy of the component on your clipboard and deletes the original component from the project (see Component reuse).
Copy places a copy of the component on your clipboard (see Component reuse).
Remove removes the component as an operation step from the operation.

Synchronicity

Operations called using the Invoke Operation (Beta) tool or the RunOperation function run synchronously by default, but they can be configured to be run asynchronously as part of an operation chain when necessary.

  • Synchronously: The invoked (child) operation chain will run sequentially from the invoker (parent) operation. The agent group will wait for the invoked operation chain to finish before processing the next steps in the invoker operation chain:

    Operation AOperation AOperation BOperation AOperation BOperation AOperation AOperation BOperation BOperation AOperation AOperation Bstart sync invoke when complete end

  • Asynchronously: The invoked (child) operation chain will run simultaneously alongside the invoker (parent) operation. The agent group will continue processing the steps in the invoker operation chain while independently processing the invoked operation chain. There is no guarantee which operation or chain will complete first:

    Operation AOperation BOperation AOperation BOperation AOperation AOperation BOperation BOperation AOperation Bstart async invoke end

When there are two or more agents in a group, multiple agents in the group may be involved with processing entire operation chains. To take advantage of the time savings asynchronous calls can bring to workflows, two or more agents are required.

Important

Synchronicity depends on the operation context and can be combined as necessary to fulfill various use cases. The diagram below is an example of this complexity:

Operation AOperation BOperation BOperation COperation AOperation BOperation COperation AOperation AOperation BOperation BOperation COperation COperation AOperation BOperation BOperation Cstart async invoke sync invoke when complete end

Configuration options

Certain options regarding operation chain synchronicity can be configured in the jitterbit.conf file's [Operation Engine] section.

Additionally, the jitterbit.operation.max_async_chain_length variable can be used to override the jitterbit.conf file's MaxAsyncOperationChainLength value, provided that MaxAsyncOperationChainLengthOverrideAllowed is set to true.