public interface IntegrationTemplate
Represents an Integration Type in Appian.
Each Integration Type must live under a Connected System Type and every IntegrationTemplate must be
associated with exactly one ConnectedSystemTemplate
.
For every Integration Object there is exactly one Integration Type. An IntegrationTemplate contains display and execution logic for that integration type.
IntegrationTemplate objects are used only once. Each call to the getConfigurationDescriptor(com.appian.connectedsystems.templateframework.sdk.configuration.ConfigurationDescriptor, com.appian.connectedsystems.templateframework.sdk.configuration.ConfigurationDescriptor, com.appian.connectedsystems.templateframework.sdk.configuration.PropertyPath, com.appian.connectedsystems.templateframework.sdk.ExecutionContext)
method will be a call to a new instance of this class.
Do not include TemplateId.majorVersion()
when using TemplateId
annotation, otherwise the template will fail to upload. Versioning will be handled by modifying the TemplateId.majorVersion()
on the associated ConnectedSystemTemplate
.
Modifier and Type | Method and Description |
---|---|
IntegrationResponse |
execute(ConfigurationDescriptor integrationConfigDescriptor,
ConfigurationDescriptor connectedSystemConfigDescriptor,
ExecutionContext executionContext)
Returns an
IntegrationResponse . |
ConfigurationDescriptor |
getConfigurationDescriptor(ConfigurationDescriptor integrationConfigDescriptor,
ConfigurationDescriptor connectedSystemConfigDescriptor,
PropertyPath updatedProperty,
ExecutionContext executionContext)
Returns a configuration for the given Integration object.
|
ConfigurationDescriptor getConfigurationDescriptor(ConfigurationDescriptor integrationConfigDescriptor, ConfigurationDescriptor connectedSystemConfigDescriptor, PropertyPath updatedProperty, ExecutionContext executionContext)
This method is called when a new Integration object is created, when a saved Integration object is
reloaded in the Designer, and when the user proposes a change to the Integration object in the
Designer (subject to the edited field's RefreshPolicy
).
This method should both validate and update the proposed integrationConfigDescriptor before returning.
integrationConfigDescriptor
- The new, user-proposed configuration of an Integration object.
This object will be null
when a new IntegrationObject is created.connectedSystemConfigDescriptor
- The configuration of the user-selected Connected System object associated
with the Integration object.
Selecting a new Connected System object always triggers the
getConfigurationDescriptor(com.appian.connectedsystems.templateframework.sdk.configuration.ConfigurationDescriptor, com.appian.connectedsystems.templateframework.sdk.configuration.ConfigurationDescriptor, com.appian.connectedsystems.templateframework.sdk.configuration.PropertyPath, com.appian.connectedsystems.templateframework.sdk.ExecutionContext)
method.
This object will be null
when no connected system is selectedupdatedProperty
- The path at which the user is proposing a change to the integrationConfigurationDescriptor.
For a field to trigger the getConfigurationDescriptor(com.appian.connectedsystems.templateframework.sdk.configuration.ConfigurationDescriptor, com.appian.connectedsystems.templateframework.sdk.configuration.ConfigurationDescriptor, com.appian.connectedsystems.templateframework.sdk.configuration.PropertyPath, com.appian.connectedsystems.templateframework.sdk.ExecutionContext)
method,
its RefreshPolicy must be set to RefreshPolicy.ALWAYS
.
Use this path to find the new, user-updated value in the integrationConfigurationDescriptor.
This parameter will be null
when a new Integration object is created,
and when a saved Integration object is reloaded in the designer.executionContext
- Contains all of the contextual information needed to configure the Integration object,
including User information, User locale, and proxy configuration. ExecutionContext
ConfigurationDescriptor
.IntegrationResponse execute(ConfigurationDescriptor integrationConfigDescriptor, ConfigurationDescriptor connectedSystemConfigDescriptor, ExecutionContext executionContext)
IntegrationResponse
.
This method is called when a user hits the test-request button in the Integration Designer, or when an integration is executed from a process, a SAIL form, or a Web API.
integrationConfigDescriptor
- The configuration of the integration.
This object will never be null
connectedSystemConfigDescriptor
- The configuration of the connected system associated with the integration.
This object will never be null
executionContext
- Contains all of the contextual information needed to execute the integration and configure diagnostics,
including User information, User locale, and proxy configuration. ExecutionContext
Copyright © 2018-present Appian Corporation. All Rights Reserved.