Automated Versioning Manager (AVM)

Overview

The Automated Versioning Manager is a tool that helps manage Appian applications and database DDL files in a version control system. Given an Appian application ZIP file, the Automated Versioning Manager performs the following actions:

  • Unzips the application and organizes the artifact XML files in the repository.
  • Automates the check-in and check-out operations with the version control system.
  • Generates application packages for import in Appian based on the contents of the repository and a range of changes to include.

This tool is frequently used with the native, external deployment APIs (https://docs.appian.com/suite/help/22.1/Deployment_Rest_API.html) or the Automated Import Manager (AIM) (https://community.appian.com/w/the-appian-playbook/198/deployment-automation). Unless you are doing deployments for the Admin Console, we suggest using the native APIs.

Key Features & Functionality

  • Version Control integration (Git, SVN)
  • Supports Appian applications and packages
  • Generate import package from hash ranges
  • Folder Listener to add contents to Version Control
  • Supports GitHub, GitLab, and BitBucket for Version Control

You can access the source code for AVM by exploding the ZIP file after download.

Note: This utility does not support Java version 9.0. 

Anonymous
  • v2.5.30 Release Notes
    • Changed the settings so logging is now on by default

  •  i am not able to download this utility , getting network error

  • v2.5.26 Release Notes
    • Updates to Zip4j library

  • Hi All,  

    I am new to the Appian DevOps. Please suggest where do we need to install this AVM (ie under which parent folder).

    And also can someone share the steps to follow?

    Thanks

  • I got the same error.
    The git repo I was working with had no files in it. So I created a simple README.MD file and pushed it to the git repo. The addContents action started to work for me then.

    1. Navigate to local repo directory
    2. Create README.MD file:

        For mac or linux run command: echo "This repo contains the Appian objects" > README.MD

        For Windows run command: notepad.exe README.MD then enter the text in the file and save the file

    3. Initialize the git if you haven't already with command: git init -b {branch name}

    4. Add the file you just created with: git add -A

    5. Commit the files with command: git commit -m "{your message here}"

    6. Set up the remote repo, if you haven't already done so: git remote add origin {http git url}

    7. Push the README.MD file to the repo: git push origin {your branch here}

    Then rerun the the AVM addContents command.

    Hope this helps.

  • As per the latest version-application properties it says only GIT is supported. Kindly clarify if SVN can as well integrated ? thanks

  • I'm getting the following error when executing addContents command  

    org.eclipse.jgit.errors.NoWorkTreeException: Bare Repository has neither a working tree, nor an index

    Any pointers would be helpful.

  • v2.5.25 Release Notes
    • Version Name Change

  • Technically, that is what this tool is for, however, the versioning manager explodes the application zip file that contains the source. The source is not standard SAIL code, it is an XML format that wraps the SAIL code. This is not very useful for merging code changes. Really, this tool is only useful to keep an auditable record of code.

    Our team develops in the cloud, using the tools provided in Designer to manage code changes and versions, restricting a single developer to each object. This is not ideal, but it works fairly well. It would be really great to have the concept of code branches and merging, but SAIL and Designer is not set up for this yet.

  • Hello,

    We have one requirement from client where they want to use Appian as Git project. They want the ability of editing one object by more than one developer and use branching, merging to merge the code. They want to set up complete CI/CD. Will this AVM will be useful for that?