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.
@since 5.3.0.4 - 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 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 |
---|
Cloud Account Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
OIC User | FDOICACCT_USERNAME | Yes | User name for the registered OIC account |
OIC Password | FDOICACCT_PASSWORD | Yes | Password for the registered OIC account |
OIC Base URI | FDOICACCT_BASE_URI | Yes | The REST Base URI of a running OIC Instance |
Inputs
Input Name | Input Code | Required | Description |
---|---|---|---|
FDOIC_INP_CLOUD_ACCOUNT_CODE | No | The OIC account with all the required properties like Base URI, Username and Password for running OIC Instance. | |
Manage Connections | FDOIC_INP_MANAGE_CONNECTIONS | No | 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. @since 5.3.0.4 - When this value is false it will save any connections it found in source control |
Outputs
Output Name | Description |
---|
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
@since 5.3.0.4 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