Automated Import Manager (AIM) Client

 

The features provided by this utility are now available out of the box (OOTB) in Appian versions 23.2+. For more information, refer to the Deployment APIs documentation.

Overview

This utility automates the process of inspecting the application, executing DDL scripts, updating CDTs, republishing the appropriate datastores, and importing the application.

With the Automated Import Manager Client, users can automatically deploy applications and package contents (either applications from Appian OR packages generated from the Automated Versioning Manager) to any environment. This utility provides the scripts that support triggering deployments from an external CI tool or deploy from the command line.

Key Features & Functionality

Automated Import Manager:

  • Inspect Application: This tool will automatically mimic the "Inspect" functionality that exists within Appian
  • Validating Application Content: In addition to inspecting the application, the tool will ensure all CDT dependents are included to avoid objects pointing to older versions. (This feature is only available on Appian 7.9 and above)
  • Execute DDL Scripts: DDL scripts can be uploaded and automatically executed. NOTE: For Microsoft SQL Server, only Transact-SQL statements are valid.
  • Execute Migrations with Flyway: Flyway is a tool used for managing database migrations. It makes it easier to track SQL script versions and not re-execute SQL scripts that have already been run. If a Flyway directory is provided, the Automated Import Manager will automatically execute migrations against the corresponding datasource. Learn more about Flyway here.
  • Update CDTs: Users are no longer required to delete CDTs before updating them, this tool will perform this step automatically
  • Import Application and admin console configuration: Automatically import an application with an optional customization file
  • Republish Datastores: After application import, datastores will be automatically published or republished
  • Add Patches: Automatically add patch contents to a specified existing application

For more information, please see visit: https://community.appian.com/w/the-appian-playbook/198/deployment-automation

Note: This utility does not support Java version 9.0. 

Anonymous
  • v2.5.10 Release Notes
    • Enhancements
    • Added the ability to dynamically generate the Metadata file for the "buildAllApps" action to reflect only the list of database scripts that are included in the package for a given commit range.
    • Bug Fixes
    • Fixed the interpretation of "appianObjectsRepoPath" on Windows platforms.

  • Did you try setting forceImport=true?

  • Is there any setting wherein even if inspection fails, we can continue with import? Currently, when inspection fails, our script stops over there.

  • Error: java.sql.SQLSyntaxErrorException: ORA-00900: invalid SQL statement

    This only happen when I try to import a sql file with the following statement

    CREATE OR REPLACE EDITIONABLE FUNCTION "DEMO" (p_list IN VARCHAR2)
    RETURN t_my_list
    AS
    l_string VARCHAR2(32767) := p_list || ',';
    l_comma_index PLS_INTEGER;
    l_index PLS_INTEGER := 1;
    l_tab t_my_list := t_my_list();
    BEGIN
    LOOP
    l_comma_index := INSTR(l_string, ',', l_index);
    EXIT
    WHEN l_comma_index = 0;
    l_tab.EXTEND;
    l_tab(l_tab.COUNT) := TRIM(SUBSTR(l_string,l_index,l_comma_index - l_index));
    l_index := l_comma_index + 1;
    END LOOP;
    RETURN l_tab;
    END DEMO;
    /

    apparently it fails due to the first ";", I know this because the function is created till that part:

    ** NOTE: my DB is Oracle

    This issue was supposed to be fixed already with the release June 2018 - Release 2.4.6: https://community.appian.com/w/the-appian-playbook/198/deployment-automation#Script_Execution1 

    any suggestion on how to overcome this issue?

  • You need to make sure you're running the script from the same directory the other artifacts are in. See https://community.appian.com/w/the-appian-playbook/198/deployment-automation#Deploy_from_the_Command_Line_Script for more details

  • Error: Could not find or load main class com.appiancorp.ps.plugins.automatedimport.remote.DeployApplication

    Any idea about this error, got this wehn i executed the script

  • How are you using the folder listener and what was the error message?

  • When I run version-application.bat in Git Bash, it works for me and deploys my code to the repository.

    However, I'm interested in using the Folder Listener functionality, but when I try this, the deployment fails with an error message.  It's a similar error message that I get when I try to run the version-application.bat file within a Windows Command prompt instead of Git.  Is there any suggested solution for this, or configuration steps I'm missing?  I'm having a hard time finding sufficient documentation on this.

  • I am trying to run the below command

    version-application -action addContents -vc_username **** -vc_password *** -application_path "C:\Users\kowsalya\App.zip" -ddl_ds jdbc/AppianAnywhere -ddl_path "C:\Users\kowsalya\Script.sql" -commit_message "Commit by @Kowsalya"

    but it says not a recognized command. Please help.

    'Versioning' is not recognized as an internal or external command,
    operable program or batch file.
    Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
    Picked up _JAVA_OPTIONS: -Xbootclasspath/a:"C:\Program Files (x86)\HPE\Unified Functional Testing\bin\java_shared\classes\jasmine.jar"
    Error: Could not find or load main class com.appiancorp.ps.automatedversioning.AutomatedVersioningManager

  • the solution was to override the order of the authentication methods by adding the following on the version-appliation.bat  "DEFAULT_JVM_OPTS=-Dsvnkit.http.methods=Basic" in case the svn has Basic authentication. Or we can use any of the other options like this "DEFAULT_JVM_OPTS=-Dsvnkit.http.methods=Basic,Digest,Negotiate,NTLM"  it will depend on your needs