packageDeploy (OIC)

Deploys integration components to the specified OIC target instances. This operation checks each file for changes and only deploys a file if it has changed or is set to forced.

  • Integrations - Object type of integration will be imported to the target instance. If connections were exported as part of an integration, they will be imported. If the integration uses any library then the iar file includes libraries and it imports the associated metadata of the library as well.

  • Connections - Object type of connection will be created or updated. If a connection is not found, it will be created as well as all of the properties updated. It also uploads any associated attachment if one exists. Attachment Override Directory input must be used to use different attachments for each OIC instance/environment.

  • Lookups - Object type of lookup will be created or updated. Lookup Override Directory input must be used to use different lookup file for each OIC instance/environment. Property replacement is automatically applied to all Lookup files in the artifact. See Property Replacement Support for details.

Either FDOIC_CLOUD_ACCOUNT_CODE Target property value or FDOIC_INP_CLOUD_ACCOUNT_CODE plugin input value should exist. When both exists, plugin input value will take precedence. See Creating/Editing a Cloud Account and Provider for details on how to setup Cloud Account for OIC.

See Oracle Integration Cloud - Object Type Reference for details on supported object types.

Target Properties

Property Name

Property Code

Required

Description

Property Name

Property Code

Required

Description

OIC Account

FDOIC_CLOUD_ACCOUNT_CODE

No

The OIC account with all the required properties like Base URI, Username and Password for running OIC Instance.

Project Properties

Property Name

Property Code

Required

Description

Property Name

Property Code

Required

Description

Stop On Deployment Error

FDOIC_STOP_ON_DEPLOYMENT_ERROR

No

Stop deploying package files if any error occurs. If unchecked all files will be deployed even if one or more files fails. Only applies to this operation. Defaults to true.

Overwrite Integrations

FDOIC_INP_REPLACE_INTEGRATION

No

Overwrite integrations with the same name and version when importing.
The default value of this property allows using a project property to control this on a per-project basis.

Inputs

Input Name

Input Code

Required

Description

Input Name

Input Code

Required

Description

OIC Account

FDOIC_INP_CLOUD_ACCOUNT_CODE

No

The OIC account with all the required properties like Base URI, Username and Password for running OIC Instance.

Overwrite Integrations

FDOIC_INP_REPLACE_INTEGRATION

No

Overwrite integrations with the same name and version when importing.
The default value of this property allows using a project property to control this on a per-project basis.

OIC Connection Plan File



FDOIC_INP_CONNECTION_PLAN

No

Optional connection configuration file to run during import.  The default is 'connectionPlan.properties' in the FD_ARTIFACTS_DIR

Allows absolute path or relative to the artifacts directory.

This is used for replacing values in the connections.json file.

That file must be present in order to have values replaced in it.

Will be pre-processed by the plugin to transform any defined replacement properties based on the deployed environment.

Deploy Delay between Integrations

FDOIC_INP_PARTIAL_DEPLOY_DELAY

No

Specify deploy delay in seconds between integrations. Default is 0, which means no delay. Use this delay only if you see issues with Oracle Integration Cloud deployments.

Update Connections Mode

FDOIC_INP_UPDATE_CONNECTION_MODE

Yes

Input to determine whether connections should be updated after deployment. Defaults to ALL.

If value is set to ALL, every applicable connection is updated.

If value is set to SPECIFIC, only connections specified in FDOIC_INP_UPDATE_CONNECTION_LIST will be updated.

If value is set to NONE, none of the connections are updated after a deployment.

Update Connection List

FDOIC_INP_UPDATE_CONNECTION_LIST

No

Comma-separated list of connection IDs to update after deployment. This input is only considered when FDOIC_INP_UPDATE_CONNECTION_MODE is set to SPECIFIC.

Attachment Override Directory

FDOIC_INP_ATTACHMENT_OVERRIDE_DIRECTORY

No

A directory which contains attachments to override. Any attachments contained in this directory will be copied over the existing attachments. Useful if you want to have different attachments per environment, you can use FD_ENVIRONMENT_CODE to achieve this. See the attachment overrides section for an example of this. Directory should be in the following format <Connectionid>/<PropertyName>/<attachment>.

Example : The folder structure should be <Root>/<Environment Code>/<Connection Id>/<Property Name>/<Attachment File>

There are situations where you may use same attachment for all environments, rather than copying the attachment file structure to each environment folder, you can place them in the following folder structure <Root>/GLOBAL/<Connection Id>/<Property Name>/<Attachment File>.

Attachments for connections placed under GLOBAL will be copied along with the files inside environment folder where the plugin execution runs, all files are then copied to the artifacts connection attachment folder. Files inside GLOBAL will be copied first and then files from environment folder will be copied.

connectionPlan.properties now supports to use attachment override file for each instance for a connection.

Ex, FLEX_ATP_DB is the connection id, uses wallet. In the connectionPlan.properties, you can define a workflow property and configure as below. The execution will search for the name in the override folder.

FLEX_ATP_DB.secure.Wallet=${{FLEX_ATP_DB_WALLET_FILE_NAME}}

Start Schedules

FDOIC_INP_START_SCHEDULES

No

If true, the file attribute Start Schedules is used to determine if any schedules should be initiated after integration deployment. If false, schedules will not be started regardless of the file attribute value.

This is useful to start schedules based on workflow execution variables. I.E. Starting schedules if FD_ENVIRONMENT_CODE is Production.

Enable Tracing

FDOIC_INP_ENABLE_TRACING

No

If true, the file attribute Enable Tracing is used to determine if integration activity can be viewed in the Activity Stream. If false, tracing will be disabled regardless of the file attribute value.

This is useful to enable tracing based on workflow execution variables. I.E. Enable tracing if FD_ENVIRONMENT_CODE is Production.

Enable Payload Tracing

FDOIC_INP_ENABLE_PAYLOAD_TRACING

No

If true, the file attribute Enable Payload is used to determine if the payload should be traced. If false, payload tracing will be disabled regardless of the file attribute value.

This is useful to enable payload tracing based on workflow execution variables. I.E. Starting schedules if FD_ENVIRONMENT_CODE is Production.

Integration Retry Count

FDOIC_INTEGRATION_RETRY_COUNT

No

The number of times an integration will be retried incase of failures. Default is 5.

Connection Retry Count

FDOIC_INP_CONNECTION_RETRY_COUNT

No

The number of times an connection will be retried incase of failures due to connection being locked. Default is 10.

Lookup Override Directory

FDOIC_INP_LOOKUP_OVERRIDE_DIRECTORY

No

A directory which contains lookups to override. Any lookup contained in this directory will be used for lookup during execution. Useful if you want to have different values for lookups per environment, you can use FD_ENVIRONMENT_CODE to achieve this.

Example : The folder structure should be <Root>/<Environment Code>/<Lookup csv file>.

There are situations where you may use same lookup for all environments, rather copying the lookup file to each environment folder, you can place them in the following folder structure <Root>/GLOBAL/<Lookup csv file>.

Lookup placed under GLOBAL will be copied along with the files inside environment folder where the plugin execution runs. Files inside GLOBAL will be copied first and then files from environment folder will be copied.

Schedule Override Directory

FDOIC_INP_SCHEDULE_OVERRIDE_DIRECTORY

No

Specify directory to override integration schedules by environment. Use FD_ENVIRONMENT_CODE to indicate folder for current environment. The subfolder of this folder must be various Integration Ids(Use iar file name as Integration Id). Integration iar archive file has schedules stored as xml file in icspackage/schedule folder which can be copied to prepare override files.

Artifacts

This operation consumes artifacts from the artifacts repository.

Endpoint Selection

This operation will select all available endpoints associated to the Target.

Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.

Connection Plans

If you are using connection plan file(s) (i.e. “connectionPlan.properties”) it is best practice to store these in source control. For SCM, FlexDeploy will copy all files with the extension properties inside the root directory of the repository (includes checkout folder) and puts them in the target export folder. If you choose to not put your connection plan files at the root level, then you will have to add a clone/checkout step in your build workflow to add your connection plan to the artifact, such that it can be used in the deploy. Subsequently, on the deploy side, FlexDeploy will have access to the artifact created during the build which can then be used with the FDOIC_INP_CONNECTION_PLAN input.

The below image is an example of placing the connection plan properties file under the root directory. We are assuming “OIC” is the root directory.

Attachment Overrides

By default, attachments from the source will be deployed to connection in question on the target environment. To deploy different attachments per environment, you can use the attachments overrides input along with some variables.

  1. Add your attachments to a GIT repository. This can be the same GIT repository as your integrations. Store them in the following format: <Root>/<Environment Code>/<Connection Id>/<Property Name>/<Attachment File>. This way we will replace the environment code to get the correct attachments.

    • Instead of storing attachments in a SCM you could also manage the attachments in the FlexDeploy file system. We suggest SCM for versioning and historical purposes.

  2. Add a clone step to the deploy workflow. This will clone the attachments. Sparse checkout folder can be whatever the root is + FD_ENVIRONMENT_CODE

    • If you went the FlexDeploy file system route, skip this step

  3. Next we will change the Attachment Override Directory input to be FD_TEMP_DIR + <Wherever the files were cloned to> + <Root> + FD_ENVIRONMENT_CODE

    • I.E. <FD_TEMP_DIR>/XXHR/Connections/DEV/..

    • If you went the FlexDeploy file system route, you can simply point Attachment Override Directory to the location of the attachments you want to migrate separated by environment.

When the connections are updated on deployment, the attachments in each specified environment directory will be deployed if they apply to the connection(s) in question.

Use the same file name for the attachment for each environment, using different names is not supported. For Example, the Wallet_FLEX_ATP_DB.zip is the wallet file downloaded from each environment and always use the same name while storing it in the source control.

Lookup Overrides

By default the lookup from source instance is exported as part of the build artifacts. There will be situations where you want to maintain different values for a lookup in each environment. To deploy different lookup file per environment, you can use the lookup override input along with the environment code.

  • Add your lookups to a GIT repository. This can be the same GIT repository as your integrations. Store them in the following format: <Root>/<Environment Code>/<Lookup Csv File>. This way we will replace the environment code to get the correct lookup file.

  • You can follow the same steps like Attachment Override to checkout the lookup overrides.

Here is a sample folder structure for keeping the overrides in a source control. To keep components separately, we have ConnectionAttachmentsOverrides and LookupOverrides folders.

image-20240213-102730.png

 

The following macros are not currently supported in the footer:
  • style