Automated Import Manager (AIM) Client

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
  • 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 

  • while testing this with svn I faced an issue like this "org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: Negotiate authentication failed: 'No valid credentials provided' 

  • The only change we have made is to fix the bug in executing DDL scripts:

    July 2019 - Release 2.5.8

    • Bug Fixes
      • Fixed the problem with obtaining TransactionManager and creating DataConfiguration against latest the Appian version
  • A couple questions.

    1. What changes were made in the July update?

    2. Is there an issue with the automation manager pushing code to GIT?

    I use PortableGit to push Appian Applications to BitBucket. Last month I noticed that the automation manager unzips my application into the appropriate files locally and sends a commit message to Bitbucket but it no longer pushes the files. I thought it was because I was still on client version 2.5.7 but its still happening with version 2.5.8. My current work around is to manually add all changes and push it to my branch using git. Does anyone else experience this? How can I troubleshoot this as none of my configurations in version-manager.properties have changed?

  • Is there an example application and database configuration that might demonstrate how this is meant to work? I think that would go a long way to solve the problem.

  • I am having difficulty getting Flyway to work with the import. I created a community post (https://community.appian.com/discussions/f/administration/17152/flyway-implementation) and have an issue open with Appian Support (477952) with details and files. I believe now that the issue is with the version-manager configuration, as the zip file does not look quite right.

  • Through DAM application fails to deploy. Is there any way to publish data stores through the deployment automation as it deploys whole app.

  • HI Aneeshv,

    We currently don't support password encryption. We suggest to secret store software like Vault in your testing framework to store the password and provide it at runtime when running Deployment Automation Manager. 

  • We need the password to be encrypted in the deploy-application.sh script. Can you please tell us the steps on how to do it? deploy-application.bat -application_path "PATH TO APPLICATION ZIP" -username SERVICE_ACCOUNT_USERNAME -password SERVICE