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 along with the integration. In this case, only the .iar file needs to be in source control. 

@since 5.4.0.1 The connections are determined from the IAR extract at build time.

@pre 5.4.0.1 The connections are determined from the live integration on the OIC Instance 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.

If the Manage Connections input is false this operation will save any connections included in the source control export. See Special Considerations for more information.

Either FDOIC_CLOUD_ACCOUNT_CODE environment instance 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.

Environment/Instance Properties

Property NameProperty CodeRequiredDescription
OIC AccountFDOIC_CLOUD_ACCOUNT_CODENoThe OIC account with all the required properties like Base URI, Username and Password for running OIC Instance.

Project Properties

Property NameProperty CodeRequiredDescription

Cloud Account Properties

Property NameProperty CodeRequiredDescription
OIC UserFDOICACCT_USERNAMEYesUser name for the registered OIC account
OIC PasswordFDOICACCT_PASSWORDYesPassword for the registered OIC account
OIC Base URIFDOICACCT_BASE_URIYesThe REST Base URI of a running OIC Instance

Inputs

Input NameInput CodeRequiredDescription
FDOIC_INP_CLOUD_ACCOUNT_CODENoThe OIC account with all the required properties like Base URI, Username and Password for running OIC Instance.
Manage ConnectionsFDOIC_INP_MANAGE_CONNECTIONSNo

Boolean 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.

When this value is false it will save any connections it found in source control

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.

Connections in Source Control

If you choose to check your connections into source control this operation can now save those into artifacts in addition to the IAR export. If you have connections saved in source control then the 'Manage Connections' input needs to be false. 

Connections should be saved in the same manner as they are exported via ExportConnections, which is a folder with the connection id with a child file named connections.json. The example below shows how an integration with two connections should be structured.

Connections Folder Structure

....12345/12343/temp/icspackage

....12345/12343/temp/MY_FIRST_CONNECTION/connections.json

....12345/12343/temp/OTHER_CONNECTION/connections.json



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