buildIntegration

Packages an integration into an iar file and saves it to artifacts.  This operation is intended as an alternative for exportIntegration with the difference being exportIntegration exports directly from OIC, whereas this operation is intending the integration source code to be managed in an SCM.

A typical workflow using this operation would first have 'cloneProjectSources' (or whichever SCM you prefer), followed by buildIntegration.  This operation is able to build an iar file itself or package the 'icspackage' directory into an iar file.  If both the iar file and icspackage directory are found in the exported source control files then the already packaged iar file will take precedence.

Like exportIntegration, this operation also allows the ability to manage connections and lookups along with the integration. In this case, only the .iar file needs to be in source control. The connections and lookups are pulled from the server at build time. This operation should be used in a build workflow. The artifact will contain the exported .iar file and optionally the connections.json file. You can also store the connection replacement properties in SCM and they will be ready to go for your deploy workflow as well.

Environment/Instance Properties

Property NameProperty CodeRequiredDescription

OIC Base URI

FDOIC_CLOUD_INSTANCE_BASE_URI

Yes

The REST Base URI of a running OIC Instance

OIC UserFDOIC_USERNAMEYesThe user to connect to OIC as
OIC PasswordFDOIC_PASSWORDYesThe password for the OIC User

Project Properties

Property NameProperty CodeRequiredDescription

Inputs

Input NameInput CodeRequiredDescription
Manage ConnectionsFDOIC_INP_MANAGE_CONNECTIONSNoBoolean to indicate whether connections for this integration should be exported as an artifact. Default is true.  The import Integration operation will automatically deploy any connections it finds in artifacts.

Outputs

Output NameDescription

Artifacts

This operation produces artifacts that will be stored in the artifacts repository.

Endpoint Selection

This operation will select all available endpoints associated to the environment/instance.

Endpoint Execution

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


Special Considerations

Integration Id

Unlike exportIntegration, which requires integration code and optionally version, buildIntegration determines the integration code and version from the exported source.  This means the user is not required to configure the integration code or version.

Example temp directory prior to executing buildIntegration

All 3 options shown below are valid and will result in a successful execution.  In option 3's case, since both the icspackage folder and iar file are present, only the iar file will be used.

Option 1

....12345/12343/temp/checkoutFolder/myintegration.iar

....12345/12343/temp/checkoutFolder/connectionPlan.properties

Option 2

....12345/12343/temp/icspackage/appinstances

....12345/12343/temp/icspackage/dvms

....12345/12343/temp/icspackage/project

Option 3

....12345/12343/temp/checkoutFolder/icspackage

....12345/12343/temp/checkoutFolder/myintegration.iar


The below option is invalid since there is no icspackage folder and no iar artifact in the temp directory.

Option 4

....12345/12343/temp/appinstances

....12345/12343/temp/dvms

....12345/12343/temp/project


Dealing with Connections

As mentioned above, this operation also provides the ability to manage connections along with the integration.  This will result in a connection folder being saved into artifacts for each connection the integration uses.  In addition to exporting the connections, if a connectionPlan.properties is found in the exported source, it will be saved to artifacts so it can be used for the deploy step.

For more information on connectionPlans, see here.