Hello,
Am a heavy user of an onpremise appian & new to this cloud deployment for plugins.
I got my plugin approved by Appian but it fails to deploy on the cloud. Any help on this is appreciated. Attaching both the tomcat snippet & the appian-plugin.xml,
also if someone can confirm if any approved plugin jar if there are any minor tweaks do we still send it re-approval ?
Error Snippet from tomcat-stdout.log
2025-10-30 17:23:18 SEVERE [OkHttp https://jaeger-collector.iris.appian-stratus.com/...] io.opentelemetry.sdk.internal.ThrottlingLogger.doLog Failed to export spans. Server is UNAVAILABLE. Make sure your collector is running and reachable from this network. Full error message:unavailable2025-10-30 17:25:13,692 [Timer-5] INFO com.appiancorp.cache.DatabaseAuxiliaryCache - Removing expired entries from db cache: uiState-auxiliary2025-10-30 17:34:06,005 [Appian Timer - 1] WARN com.appiancorp.common.ObjectSynchronizer - 1 services were missing users.2025-10-30 17:46:05,412 [http-nio-8080-exec-844] INFO com.appiancorp.plugins.osgi.LoggingPluginFactoryDecorator - Plug-in Artifact 'occSharePointPluginV1_S 11 2.jar' SHA256 hash is 2635ff306f31eb278b3a33e78ee2d3ec04762dea8fdc79d8653fab77a13bf3af2025-10-30 17:46:05,507 [http-nio-8080-exec-844] INFO com.appiancorp.plugins.osgi.AppianOsgiPluginFactory - Successfully retrieved component_advanced.xml document from cloud URL2025-10-30 17:46:05,507 [http-nio-8080-exec-844] INFO com.appiancorp.plugins.osgi.AppianOsgiPluginFactory - Total number of advanced plugins :42025-10-30 17:46:05,512 [http-nio-8080-exec-844] ERROR com.appiancorp.plugins.osgi.AppianOsgiPluginFactory - AppianOsgiPluginFactory.reportUnloadablePlugin [/usr/local/appian/ae/_admin/plugins/occSharePointPluginV1_S 11 2.jar]2025-10-30 17:46:05,512 [http-nio-8080-exec-844] ERROR com.appiancorp.plugins.LoggingPluginEventListener - Failed to load Plug-in 'Unknown-189610999' (Unknown-189610999) version 0.0: 'Unable to load plugin: The key is required: <components><smart-service category="Integration Services" class="com.occ.sharepoint.plugins.occsharepoint.SharePointChunkedUploadSmartService" icon="cloud-upload" key="OCCSharePointChunkedUpload" name="OCC SharePoint Chunked Upload"> <!-- === INPUTS === --><input name="tenantId" required="true" type="Text"/><input name="clientId" required="true" type="Text"/><input name="clientSecret" required="true" type="EncryptedText"/><input name="sitePath" required="true" type="Text"/><input name="driveId" required="true" type="Text"/><input name="documentInput" required="true" type="Document"/><input default="false" name="cleanupPartials" required="false" type="Boolean"/> <!-- === OUTPUTS === --><output name="uploadStatus" type="Text"/><output name="sharePointFileUrl" type="Text"/><output name="sharePointItemId" type="Text"/><output name="totalTime" type="Text"/></smart-service></components>'2025-10-30 17:46:05,514 [http-nio-8080-exec-844] ERROR com.appiancorp.plugins.DeployUploadedPluginReaction - Failed to deploy plugin file occSharePointPluginV1_S 11 2.jarjava.lang.IllegalStateException: Plugin was deployed but not successfully enabled
***********************************************************************************************************************************************************************************************************
Appian-plugin-xml
<?xml version="1.0" encoding="UTF-8"?><appian-plugin name="OCC SharePoint Chunked Upload Plugin" key="occSharePointChunkedUploadPlugin"> <plugin-info><description> Sharepoint Chunked Upload </description><version>1.1.0</version><application-version min="24.3" /><vendor name="OCC Systems" url="">https://www.occsystems.com" /></plugin-info> <components><smart-service name="OCC SharePoint Chunked Upload" key="OCCSharePointChunkedUpload" category="Integration Services" icon="cloud-upload" class="com.occ.sharepoint.plugins.occsharepoint.SharePointChunkedUploadSmartService"> <!-- === INPUTS === --><input name="tenantId" type="Text" required="true" /><input name="clientId" type="Text" required="true" /><input name="clientSecret" type="EncryptedText" required="true" /><input name="sitePath" type="Text" required="true" /><input name="driveId" type="Text" required="true" /><input name="documentInput" type="Document" required="true" /><input name="cleanupPartials" type="Boolean" required="false" default="false" /> <!-- === OUTPUTS === --><output name="uploadStatus" type="Text" /><output name="sharePointFileUrl" type="Text" /><output name="sharePointItemId" type="Text" /><output name="totalTime" type="Text" /></smart-service></components></appian-plugin>
Regards
ANK
Discussion posts and replies are publicly visible
Best of my knowledge, The plugin fails because of XML or JAR packaging issues (like spaces in filename or malformed XML). Also, Any change requires re-approval before redeploying on Appian Cloud.
Thanks Shubam, I verified my jar & it doesn't have any spaces, Any thoughts on this malformed XML? I looked at a few XML plugins from the app market, i didnt find a model XML which had an input & output mappings & also they are not wrapped inside a Components tag.
Smart service plugins must have all smart-service elements inside a single components tag within the root <appian-plugin>. Missing or incorrect components wrapping causes deployment failure.