Operation deployment and execution¶
Introduction¶
This page describes how to deploy operations to the Harmony cloud. Once an operation and its dependencies are deployed, those operations can be executed. For convenience, you can choose to execute an operation using existing deployed dependencies, or execute an operation using dependencies that are automatically deployed at the time of execution.
For information on resolving certain errors that may occur when executing an operation, see Operation troubleshooting.
Visual indications of operations with undeployed changes¶
There are two visual indications that an operation has undeployed changes:
-
The operation's name is displayed in blue on the project pane's Components tab (see Component name in Project pane Components tab).
-
The presence of an undeployed changes icon on the lower section of an operation.
Deploy an operation¶
There are three options for operation deployment: deploying directly, deploying directly and running the operation, and configuring a deploy:
- Deploy: This option refers to direct deployment of an operation. Selecting this option immediately deploys the operation and its dependencies, or reports validation errors preventing deployment.
- Deploy and Run: This option is the same as the Deploy option, except that after a successful deploy the operation and any downstream operations are also executed (see Executing later on this page).
- Configurable Deploy: This option refers to deployment of selected operations. Selecting this option opens a deployment configuration screen where you can choose which operations to deploy.
Additional screens may be presented under certain circumstances:
- Select schedules and project variables: If there are any project variables or schedules being deployed that have already been deployed in the Harmony cloud, a screen presents you with options for selecting which values to use.
- Add tags and comments: If project-level deployment settings have been configured to require a tag and/or a comment on deploying, a dialog is presented when initiating a deploy or a deploy and run to enter the required tag and/or comment. These fields are also provided directly on the configurable deploy screen.
You can continue working during a deploy. Informative messages in the top right corner of the screen indicate when a deploy is in progress and and when a deploy has been completed.
Note
When renaming a project that has previously been deployed, the new project name is automatically deployed and updated in Harmony. No other part of the project besides the name is automatically deployed.
Deploy¶
The Deploy option for an operation is accessible from these locations:
- The project pane's Workflows tab (see Component actions menu in Project pane Workflows tab).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
- The design canvas (see Component actions menu in Design canvas).
- The operation action bar.
On selecting Deploy, a deploy is immediately attempted for the operation and its dependencies. In order for the deploy to succeed, the operation must be valid. If the operation is invalid, the specific validation error(s) are provided in a dialog. For documentation on each error and how to resolve it, refer to Operation validity.
Deploy and run¶
The Deploy and Run option is accessible from these locations:
- The project pane's Workflows tab (see Component actions menu in Project pane Workflows tab).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
- The design canvas (see Component actions menu in Design canvas).
- The operation action bar.
On selecting Deploy and Run, a deploy is immediately attempted for the operation and its dependencies. In order for the deploy to succeed, the operation must be valid. If the operation is invalid, the specific validation error(s) are provided in a dialog. For documentation on each error and how to resolve it, refer to Operation validity.
If the deploy succeeds, the operation and any downstream operations are also run. For details, see Executing later on this page.
Configurable deploy¶
The Configurable Deploy option to configure a deploy for selected workflows and operations, with the operation and its dependencies selected by default, is accessible from these locations:
- The project pane's Workflows tab (see Component actions menu in Project pane Workflows tab).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
- The design canvas (see Component actions menu in Design canvas).
On selecting Configurable Deploy, a deployment configuration screen opens where you can define a tag and comment and choose which workflows and/or operations to deploy:
-
Project Information: Along the top of the screen, the name of the project is provided, below which is the Harmony organization and environment where the project exists.
-
Tag: Enter a tag to be used to label the deploy event. The tag will be displayed as a label on the deploy event and recorded in the deploy details accessible from the project history. This field may be required depending on project-level deployment settings.
-
Comment: Enter a comment to be used to describe the deploy event. The comment will be recorded in the deploy details accessible from the project history. This field may be required depending on project-level deployment settings.
-
Select Workflows and Operations: Select the workflows and/or operations to deploy. The operation and its dependencies are selected by default. You must select at least one item to enable the Deploy button.
When you select a workflow or operation, any other workflow or operation dependencies are also selected and cannot be cleared.
To collapse or expand workflows and operations, use the disclosure triangles displayed to the left of the workflow or operation name.
The names of invalid workflows or operations appear in the color red and italics. Selected items must be valid to enable the Deploy button.
-
Deploy: Click to deploy selected workflows and/or operations.
Execute an operation¶
Once an operation and its dependencies are deployed, those operations can be executed. For convenience, you can choose to execute an operation using existing deployed dependencies, or execute an operation using dependencies that are automatically deployed at the time of execution. When you run an operation, any downstream (linked) operations are also executed.
As described below, you can execute operations manually at design time, using a script (in either Integration Studio or Design Studio), from a command line on an agent, using an API trigger, using a listener, or using a schedule. Once operations are executed, you can validate proper behavior by checking operation logs.
Execute manually¶
Manual execution of an operation is commonly used during project development to test select operations or the entire project. This can be done in Integration Studio as described below, or can be accomplished from the Projects page of the Management Console for operations that have already been deployed.
Most operations can be executed manually. There are several exceptions:
- Operations that are triggered through the Harmony API Manager. These operations use an API or API SOAP Request activity that provides source data to the operation.
- Operations that are triggered by a listener. These operations use a listening activity that receives an event that triggers the operation to run.
There are two options for manual operation execution: running an operation using existing deployed dependencies, or running an operation using dependencies that are automatically deployed at the time of execution:
- Run: If an operation and its dependencies have already been deployed, selecting this this option immediately executes the operation and any downstream operations using existing deployed dependencies. Note that the executed operation(s) do not include any design changes made after the latest deployment. To run the operation with the latest design changes, use Deploy and Run.
- Deploy and Run: Selecting this option immediately deploys the operation and all its dependencies (or reports validation errors preventing deployment), then executes the operation and any downstream operations using newly deployed dependencies.
Operations that are manually run by either method display the real-time operation status on the design canvas, as described in Operation status below.
Run¶
The Run option to run an operation using existing deployed dependencies is accessible from these locations:
- The project pane's Workflows tab (see Component actions menu in Project pane Workflows tab).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
- The design canvas (see Component actions menu in Design canvas).
- The operation action bar.
On selecting Run, if an operation and its dependencies have already been deployed, the operation and any downstream operations linked with operation actions are also kicked off based on the configured conditions.
If an operation or its dependencies have not yet been deployed, a message indicating that the operation failed to run is displayed:
Click Continue to return to the previous screen. To deploy the operation and its dependencies, as well as run the operation, use the Deploy and Run option.
If an operation or its dependencies have been deployed but have undergone changes in the Integration Studio project designer since they were last deployed, a prompt indicating there are undeployed changes is displayed:
Click Continue to acknowledge that there are undeployed changes that will not be deployed, and to run the last deployed version of the operation and its dependencies without the most recent changes made in the Integration Studio project designer.
If you don't want to run the last deployed version, click Cancel to return to the previous screen. To deploy the latest version of the operation and its dependencies, as well as run the operation, use the Deploy and Run option.
Deploy and run¶
The Deploy and Run option to run an operation using components that are automatically deployed at the time of execution is accessible from these locations:
- The project pane's Workflows tab (see Component actions menu in Project pane Workflows tab).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
- The design canvas (see Component actions menu in Design canvas).
- The operation action bar.
On selecting Deploy and Run, a deploy is immediately attempted for the operation and its dpendencies. The deploy must succeed for the operation to be run, as described earlier on this page under Deploy.
If the deploy succeeds, the operation and any downstream operations linked with operation actions are also kicked off based on the configured conditions.
Operation status¶
If an operation has been successfully submitted to the operation queue, the real-time operation status is reported in the lower left of an operation:
The operation status is displayed for the first 6 operations that are run within an operation chain. The status for any remaining operations can be viewed in the operation logs.
The reported status corresponds with the statuses described on the Operation logs page under Filter by status. Click the operation status to view detailed log information. The operation log screen automatically opens in a separate tab so that you can continue working while operations are running (see Operation logs).
Once you have manually run the operation, the operation status is displayed in an open project for 24 hours and is not affected by additional deploys or by running the operation in another way. Only by manually re-running the operation will the operation status be refreshed for operations and their child operations. The operation status is cleared when closing the project.
For operations that are in Submitted, Received, Pending, or Running status, a Cancel button is displayed next to the status. Clicking Cancel sends a request to the agent to stop the operation and a Cancel Requested status is displayed next to the real-time operation status:
Note
Operations that have a Cancel Requested status may still run.
Hover over the runtime status to view the last time the status was refreshed (reported in local browser time).
The color of the icon to the left of the reported status indicates the category of operation status corresponding with that displayed in the operation logs. When operations are in the collapsed view, only the colored icons indicating the category of operation status are displayed.
Use a script¶
To run an operation from a script, call the RunOperation
function in a script, as described in the function documentation.
To call another operation in the same project, simply drag it into the script. The complete function is automatically created:
RunOperation("<TAG>operation:Operation 2</TAG>");
To call an operation in another project, obtain the GUID of the operation by running a simple script in that operation (using script testing) that uses the operation reference path to output the operation's GUID:
<trans>"<TAG>operation:Example Operation</TAG>";</trans>
(Once you have the GUID of an operation, the script can be removed.) The result from the script testing is similar to op.52c3eaa8-bc45-491f-b77f-cfeff994cf31
.
You can then use it with the RunOperation
function in the form op.<guid>
where <guid>
is the GUID of the other project's operation:
RunOperation("op.52c3eaa8-bc45-491f-b77f-cfeff994cf31");
To call a Design Studio operation from Integration Studio, pass the operationId
parameter to the function in the form op.<guid>
where <guid>
is the GUID of the Design Studio operation. This can be obtained from within Design Studio as shown in Call an operation from a command line, such as:
RunOperation("op.52c3eaa8-bc45-491f-b77f-cfeff994cf31");
To call an Integration Studio operation from Design Studio, you need the names of the project and operation. Integration Studio operations, once their projects are deployed, are available to be called by Design Studio projects by project and operation name. See the Design Studio RunOperationFromProject
function:
RunOperationFromProject("<TAG>Projects/MyCloudStudioProject/Operations/MyCloudStudioOperation</TAG>");
Use a command line from an agent¶
Operations can also be called from a command line on an agent in the environment where the project is deployed. See Call an operation from a command line for details.
Use an API trigger¶
To call the operation from an external application, use API Manager to configure a custom API and assign the operation to trigger on request. For more information, refer to the API Manager documentation.
Use a listener¶
After an operation that contains a listener activity is deployed, an Events Disabled / Events Enabled toggle appears at the bottom of the operation on the design canvas. This toggle can be used to enable or disable event listening. By default, event listening is disabled.
To enable event listening for the operation, click the toggle:
When event listening is enabled, the operation will run when it is triggered by the configured event. For more information, see View or enable / disable listeners in the Management Console Projects page.
Use a schedule¶
To run the operation automatically on a schedule, you must first configure a schedule and then apply it to an operation. Schedules can be created and applied directly in Integration Studio as described below, or they can be created and applied from the Projects page in the Management Console.
Note
After a schedule has been applied to an operation, it can also be disabled or re-enabled from the Projects page in the Management Console. This functionality is available only in the Management Console (not in Integration Studio).
Schedules are added from the Schedules tab of the operation settings. The Settings option is accessible from these locations:
- The project pane's Workflows tab (see Component actions menu in Project pane Workflows tab).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
- The design canvas (see Component actions menu in Design canvas).
On selecting Settings, the operation settings screen opens on the Schedules tab. For detailed configuration information, see Operation schedules. To create a schedule, first use the link to Create New Schedule. Once a schedule is created, select it from the Schedule dropdown and click Assign to apply it to an operation.
To edit an existing schedule that is already assigned to an operation, click the schedule icon on the bottom left of the operation to display the Schedules tab of the settings, where you can edit or delete the schedule.
Select schedules and project variables¶
If there are any project variables or schedules being deployed that have already been deployed in the Harmony cloud, a screen presents you with options for selecting which values to use. This allows you to keep or override values set outside of Integration Studio, such as through the Management Console Projects page.
Each category, of variables, operation schedules, and schedules, is covered below. Once you have made your selections, click Deploy to continue with the deploy or configurable deploy as configured, or Cancel to return to the previous screen without deploying.
Variables¶
This table includes any project variables that have a different value or description from those already deployed in the Harmony cloud:
-
Select: When selected, this checkbox is used to toggle the selections in the Version column. When cleared, the option selected in the dropdown has no effect on the table. These dropdown options are available:
- All Updated Values: When the checkbox and this option are selected, all selections in the Version column are toggled to Update.
- All Deployed Values: When the checkbox and this option are selected, all selections in the Version column are toggled to Deployed.
-
Popout: Click the popout icon to show only the table of variables, hiding any operation schedules and schedules. After opening this view, click the return icon to come back to the full screen.
-
Name: The names of any project variables that have a different value or description from those already deployed in the Harmony cloud are listed.
This doesn't include project variables that are already deployed but have the same value and description as that in the Integration Studio project, or project variables that are only within the Integration Studio project and haven't yet been deployed.
Tip
A project variable may have already been deployed in the Harmony cloud if you previously deployed the project or if you edited the project variable through the Management Console Projects page.
-
Version: Select between the two versions of the project variable:
- Update: Use the value and description of the project variable that is present in the Integration Studio project. This overrides the value and description currently deployed in the Harmony cloud. Once deployed, the project variable value and description in Integration Studio and in the Harmony cloud will be in sync.
-
Deployed: Use the value and description of the project variable that is currently deployed in the Harmony cloud.
Warning
Once deployed, the project variable value and description in Integration Studio will not be updated. To continue using the version deployed in the Harmony cloud, you will need to make this selection each time you deploy the Integration Studio project, or you can update the project variable in Integration Studio to match that deployed in the Harmony cloud to prevent it from appearing on this screen.
-
Value / Description: The value of the project variable is listed. If the value is configured to be hidden in the UI, asterisks that mask the value are displayed. Additional details can be viewed by hovering over the cell:
- Value: The value of the project variable is listed. If the value is configured to be hidden in the UI, asterisks that mask the value are displayed.
- Description: The description of the project variable is listed.
-
Updated By: The Harmony username of the user who last updated the project variable component is listed. The update may have been made in Integration Studio or the Management Console.
-
Updated On: The date and time that the project variable component was last updated, reported in your local browser time zone.
Operation schedules¶
This table includes any operations that have a difference in applied schedules compared with those already deployed in the Harmony cloud:
-
Select: When selected, this checkbox is used to toggle the selections in the Version column. When cleared, the option selected in the dropdown has no effect on the table. These dropdown options are available:
- All Updated Values: When the checkbox and this option are selected, all selections in the Version column are toggled to Update.
- All Deployed Values: When the checkbox and this option are selected, all selections in the Version column are toggled to Deployed.
-
Popout: Click the popout icon to show only the table of operation schedules, hiding any variables and schedules. After opening this view, click the return icon to come back to the full screen.
-
Name: The names of any operations that have a difference in applied schedules compared with those already deployed in the Harmony cloud are listed.
This doesn't include operations that have applied schedules that are already deployed but are the same in the Integration Studio project, or applied schedules that are only within the Integration Studio project and haven't yet been deployed.
This doesn't consider whether the schedule has been enabled or disabled from the Management Console, as that isn't a setting that can be toggled in Integration Studio.
Tip
A schedule applied on an operation may have already been deployed in the Harmony cloud if you previously deployed the project or if you applied or removed a schedule from an operation through the Management Console Projects page.
-
Version: Select between the two versions of the operation that has schedule applied:
-
Update: Use the schedule that is applied on the operation in the Integration Studio project. This overrides the applied schedule setting currently deployed in the Harmony cloud. Once deployed, the applied schedule in Integration Studio and in the Harmony cloud will be in sync.
-
Deployed: Use the schedule that is applied on the operation that is currently deployed in the Harmony cloud.
Warning
Once deployed, the operation to which the schedule is applied in Integration Studio will not be updated. To continue using the version deployed in the Harmony cloud, you will need to make this selection each time you deploy the Integration Studio project, or you can update the applied schedule in Integration Studio to match that deployed in the Harmony cloud to prevent it from appearing on this screen.
-
-
Schedule Name: The name of the schedule applied on the operation is listed. If the operation doesn't have an applied schedule, this cell is empty. Additional details can be viewed by hovering over the cell:
- Name: The name of the schedule applied on the operation.
- Occurs: The days on which the schedule is configured to run.
- Frequency: The times at which the schedule is configured to run. The time zone is that of the agent running the operation.
- Start Date: The date on which the schedule is configured to start.
- End Date: The date on which the schedule is configured to end.
-
Updated By: The Harmony username of the user who last updated the applied schedule. The update may have been made in Integration Studio or the Management Console.
-
Updated On: The date and time that the applied schedule was last updated, reported in your local browser time zone.
Schedules¶
This table includes any operation schedules that have a different configuration from those already deployed in the Harmony cloud. Schedules in this category are listed regardless of whether they are applied on any operations:
-
Select: When selected, this checkbox is used to toggle the selections in the Version column. When cleared, the option selected in the dropdown has no effect on the table. These dropdown options are available:
- All Updated Values: When the checkbox and this option are selected, all selections in the Version column are toggled to Update.
- All Deployed Values: When the checkbox and this option are selected, all selections in the Version column are toggled to Deployed.
-
Popout: Click the popout icon to show only the table of schedules, hiding any variables and operation schedules. After opening this view, click the return icon to come back to the full screen.
-
Name: The names of any schedules that have a different configuration from those already deployed in the Harmony cloud are listed. Schedules in this category are listed regardless of whether they are applied on any operations.
This doesn't include schedules that are already deployed but have the same configuration in the Integration Studio project, or schedules that are only within the Integration Studio project and haven't yet been deployed.
Tip
A schedule may have already been deployed in the Harmony cloud if you previously deployed the project or if you created, edited, or deleted a schedule through the Management Console Projects page.
-
Version: Select between the two versions of the schedule:
-
Update: Use the schedule configuration that is present in the Integration Studio project. This overrides the configuration currently deployed in the Harmony cloud. Once deployed, the schedule configuration in Integration Studio and in the Harmony cloud will be in sync.
-
Deployed: Use the schedule configuration that is currently deployed in the Harmony cloud.
Warning
Once deployed, the schedule configuration in Integration Studio will not be updated. To continue using the version deployed in the Harmony cloud, you will need to make this selection each time you deploy the Integration Studio project, or you can update the schedule configuration in Integration Studio to match that deployed in the Harmony cloud to prevent it from appearing on this screen.
-
-
Value: A summary of the schedule configuration is listed. Additional details can be viewed by hovering over the cell:
- Name: The name of the schedule.
- Occurs: The days on which the schedule is configured to run.
- Frequency: The times at which the schedule is configured to run. The time zone is that of the agent running the operation.
- Start Date: The date on which the schedule is configured to start.
- End Date: The date on which the schedule is configured to end.
-
Updated By: The Harmony username of the user who last updated the schedule is listed. The update may have been made in Integration Studio or the Management Console.
-
Updated On: The date and time that the schedule was last updated, reported in your local browser time zone.
Add tags and comments¶
Deployment requirements can be configured for each project during project creation and configuration.
If project-level deployment settings have been configured to require a tag and/or a comment on deploying, a dialog is presented when initiating a deploy or a deploy and run to enter the required tag and/or comment. These fields are also provided directly on the configurable deploy screen.
- Tag: Enter a tag to be used to label the deploy event. The tag will be displayed as a label on the deploy event and recorded in the deploy details accessible from the project history.
- Comment: Enter a comment to be used to describe the deploy event. The comment will be recorded in the deploy details accessible from the project history.
- Add Comment and Tag: Click to add the tag, comment, or both, and continue with the operation deploy.
- Cancel: Click to close the dialog and return to the previous screen without deploying.
Cancel an executed operation¶
If you need to stop an executed operation that is in Submitted, Received, Pending, or Running status, you can do so from these locations:
- The operation (see operation status in Design canvas).
- The operation log table.
- The Runtime Operations page of the Management Console (see Canceling runtime operations).