Summary
vRealize Build Tools provides tools to development and release teams implementing solutions based on vRealize Automation (vRA) and vRealize Orchestrator (vRO). The solution targets Virtual Infrastructure Administrators and Solution Developers working in parallel on multiple vRealize-based projects who want to use standard DevOps practices.
This Fling is focused on code quality, code reusability, unit testing, dependency management and parallel releases of vRealize projects. In practice, it is a set of Maven extensions, packaged in a Maven repository format, that support the use of IDE (via Maven) and CLI to develop, test and deliver vRA and vRO-based solutions. It includes a vRO plug-in that exposes autocomplete information for standard and third-party scripting objects and actions and CLI that can deploy packages to vRO and vRA via the standard APIs.
Requirements
- vRealize Orchestrator
- Microsoft VS Code
- vRealize Developer Tools
Instructions
Video
Changelog
Version 2.28.0 Update
### Enhancements
* [artifact-manager] vRBT to support sending UTF-8 content in regards to vRA-NG projects
* [artifact-manager] vRA-NG content (Content Sources, Custom Forms, Catalog Items .. ) now support "." in their names
* [polyglot] The Polyglot archetype now works with multiple packages instead of just one
* [build-tools-for-aria] Update documentation to use approved project name Build Tools for VMware Aria
* [build-tools-for-aria] Added the ability to skip install-node-deps and cleaning node_modules during mvn clean lifecycle step by passing the flag skipInstallNodeDeps. If node_modules folder doesn't exist, then this flag is ineffective. This is done, to make sure that build shouldn't fail, because of this flag in any case
* [ts-autogen] Removed the ts-autogen archtype, as this is causing the issue to make the toolchain opensource/public
* [documentation] Added documentation for unit testing
* [artifact-manager] Add support for the following ABX properties: memoryLimitMb, timeoutSec, provider(Faas provider), shared(Share with all projects in this organization), inputSecrets(Secret), inputConstants(Action constant)
### Fixes
* [artifact-manager] Fixed importing of property groups with different project scope
* [vrotest] Fixed Error massage while executing vro unit tests
* [release] Removed unused bamboospec.java file, enable batch mode during release, update pom.xml structure to match the filesystem relative paths, update project dependencies
* [vRA-NG] vra-ng:pull throws NullPointerException for missing properties in the vra/content.yaml
* [vrotest] Add implementation for System.sleep and System.waitUntil
* [MVN] Add implementation for polyglot packages to be published in JFrog when deploy command is executed
* [installer] Fixed Installer Skips Steps Under Mac OS
* [installer] Fixed Interactive Installer Doesn't Ask if vRO is embedded
* [installer] NPE in case user provides non-existing project name during installation
* [artifact-manager] vRA NG fails to release existing blueprint version
* [vRA] Fixed vRA authentication to respect refresh token in configuration
Version 2.26.4 Update
### Fixes
* [artifact-manager, store] Fixed VraNgCustomResourceStore when updating Custom Resource after initial deletion failed
* [vrotsc] Constants are being exported correctly now
* [vro-types] Added distinguishedName property to the AD_Computer and AD_OrganizationalUnit interfaces
* [artifact-manager] Blueprints cannot be imported when they have "." in thier names
* [custom-resources] Fix Custom Resource Second Day action name validation
* [artifact-manager] Property groups are now correctly updated
* [artifact-manager] CustomResources now respect if orgName is set instead of orgId
* [artifact-manager] Fixed pushing of catalog items that had custom forms defined.
* [vRA-NG] Pulling blueprints with multiple versions on vRA 8.9 results in error.
### Enhancements
* [artifact-manager,package-installer] Add prompt for vrang_proxy when package-installer is run without environment.properties file
Version 2.26.2 Update
### Fixes
* [vRA-NG] vRA-NG push will now release the blueprint if no versions.json is present
* [documentation] Fixed the Release.md template so it's more concise when sed is used to remove the Comments.
* [artifact-manager] Fixed vRA Custom Resources With Day-2 actions importing in vRA 8.8.2
* [polyglot] Executing mvn vrealize:push fails for polyglot projects
* [polyglotpkg] Updated old PowerShell 5 executable to PowerShell 6 and above
* [vrotest] Code coverage thresholds are now set correctly
* [vrotest] Tests when dependency has a policy template or other unknown types of elements now work
* [vropkg] Removed Certificates from vropkg tests
* [vropkg] Fixed EOL for Windows OS certificate signature
* [vrotest/vro-scripting-api] Properties.get now returns null instead of undefined in case where the property does not exists ( only in tests, behavior is now the same as the actual Properties object )
* [vrotest/vro-scripting-api] ConfigurationElement.getAttributeWithKey now returns null instead of undefined in case where the property does not exists ( only in tests, behavior is now the same as the actual ConfigurationElement object )
* [vRA-NG] Added the diskType to storage profile json files to distinguish First Class Disks and removed diskMode from json when disk is FCD, so it can be pushed via vRBT
* [typescript] Bumped nodejs version from 12 to 16 when building
* [installer] Fixed static version inside dependencies of package installer component
* [polyglot] Pushing polyglot projects fails with 'Port is not a number'
* [installer] Introduce installer exit code `0` in case of successful import.
* [vro-types] SQL Plugin Definition Inconsistencies
* VROES fails to import actions under src
* [vRA-NG] When releasing a new version of an existing blueprint that has been released and imported it doesn't fail, rather increments the version.
### Enhancements
* [artifact-manager] Pulling Non Present Content needs to error
* [artifact-manager] Pushing content to Server to filter only content in content.yaml
* [artifact-manager] Improved error message when action name is too long
* [vropkg] @param now supports parameter with properties
* added startup guide markdown in the main folder
* [vRA-NG] Added the capability to not use versions.json for blueprints via a maven property vrang.bp.ignore.versions
* [vRLI] Added support for VRLI 8.8 content packs.
* [package-installer] Enable different types of input parameters for installation workflow (Array/string, number, boolean)
* [polyglotpkg] Bundle dependency modules for PowerShell Polyglot project
Version 2.23.0 Update
- [vRO] Composite type values.
- [artifact-manager, vrotsc, installer] Enabled selection of custom files to transpile based on a git branch.
- [artifact-manager] Fixed Unable to use refresh token for vRO authentication without username/password.
- [artifact-manager] Fixed NullPointerException when the name of the storage profile is not defined.
- [artifact-manager] Fixed NullPointerException by empty json files from vra during pull process.
- [MVN] Allow property serverId to replace username password for all project types (previously only vra and vro)
- [artifact-manager] Fixed NullPointerException when the property "formFormat" don't exists in the custom form.
- [vRA-NG] Fixed disappearing of custom resource, when ID is provided, during the import in multi-tenant environment. Re-enabled the surefire plugin.
Version 2.22.1 Update
- [vrotsc] Fixed export with alias from ES6 spec e.g. export * as foo from ...
- [vro-types] Change interface to class, port from vro-type-defs
- [VRO] Type definitions for MQTT vRO plugin
- [vRA-NG] Enhance Custom Resource actions imports
- [vrotsc] Generates JavaScript Source Maps from vRO TypeScript compiler
- [VRO] NodeJS-based test framework for vRO
- [VRO] Remove vRO hint plugin from vRBT
- [Code Stream] Import pipeline in released state
- [polyglotpkg] Fixed an issue that required polyglot-cache to be present when building Node.js ABX actions
- [VRO] Installer removing imported files
Version 2.20.0 Update
- [vRA-NG] Enable extraction of multiple ABX actions and importing them with package-installer
- [vRA] Improved CR importing mechanism, for push among different vRA instances
- [vRA-NG] Fixed infinite loop when fetching projects
- [vrotsc] vrotsc issue when packaging native content
- [VRA] Made extracted custom forms human readable
- [Code Stream] fix push of pipelines and custom integrations + logging & [vRA-NG] Improved documentation
- [MVN] Updated log4j version to 2.17.1
- [vRA-NG] primitive call for projects now returns all entires even if more than 500
- [Code Stream] New project type
- [vra-NG] Added some extra documentation and examples in the archetype
- [vra-NG] iac-for-vrealize vro.refresh.token not propagated in maven plugin
- [polyglotpkg] Support building ABX actions with TypeScript project references
- [vRA-NG] Exporting subscriptions only takes first 20 - now fetching all available
- [vRA-NG] Cannot import flavor and image mappings if there are none in the profiles
- [vRA-NG] SVG icons are no longer uploaded/downloaded
- [vRA-NG] SVG icons cannot be uploaded since vRA does not recognize it's own format when submitted back
- [vRA-NG] PropertyGroups project ids are now patched before creating/updating
- [vRA-NG] Fixed missing catalog items in content sources for new blueprints
- [vRA-NG] Blueprints import and export - extended details, versioning and release status support
- [vRA-NG] Importing a flavor mapping, when flavor mapping does not exist
- [vRA-NG] Importing an image mapping, when image mapping does not exist
- [vRA-NG] Catalog Item ids are now fetched before importing
- [vRA-NG] Improved logging on importing custom resources with active attachments
- [vRA-NG] Property groups support as vRA package contents
- [vRA-NG] Catalog item icon extension fix
- [vRA-NG] Removed custom forms logic from blueprints storage logic
- [vRA-NG] NullPointerException on importing flavour mappings - enhanced logging
- [vRO-Polyglot] Move dependency resolution from NPM to Artifactory
- [vRA-NG] Catalog items support with custom forms and icons
- [vRO] Improve logging when vropkg fails to parse JS
- [vRO] Signing issue due to vRA dependency
- [vRA-NG] Configuration to wait for data collection during import
- [vRA-NG] Added a new vrang.data.collection.delay.seconds properties to force a wait of a variable amount of time for vRA data collection to pass before importing
- [vRO-Polyglot] "Memory limit" and "Timeout" attributes support for polyglot actions
- [vRA-NG] Default timeout configuration for import content process
- [vRO] Add charset-detector to bundled dependencies
- [vRO] Resource elements support fix for 7.X
- [vRO-Polyglot] Support for polyglot actions invocation
- [vRO-Polyglot] Extend vrotsc to support referencing polyglot actions in TypeScript workflows using decorators
- [vRA-NG] Timeout configuration for import content process
- [vRA-NG] Resource action custom forms support
- [vRA-NG] Authentication changes for multi-tenant setup
- [vRO] Ignoring node_modules in XML, JavaScript and mixed projects
- [vRO] Fixed a JSON structure logging issue which caused error "Not a valid package file, dunes-meta-inf is missing !" when pushing to vRO
- [vRO] Fixed non-latin character support on vRO content import
- [vRA-NG] Subscriptions import support for multi-tenant setup
- [vRA-NG] Entitlements import support for multi-tenant setup
- [vRA-NG] Content sources import support for multi-tenant setup
- [vRA-NG] Custom resource day2 actions support for multi-tenant setup
- [vRA-NG] Support custom resources updates via vrealize:push
- [vRA-NG] Failure of vrealize:push on creating an entitlement without custom from
- [vRO] Empty JavaScript actions cleanup
Version 2.14.14 Update
- Bug fixes and stability improvements
Version 2.12.5 Update
- [vRBT] Package installer - Add support for installation on a standalone vRO (not embedded) version 8.x with basic authentication
- [vRA] Added catalog entitlements and examples to the vra-ng archetype
- [vRO] Support / in Workflow name or path, by substituting it with dash (-) character.
- [vRBT] Added http / socket timeouts support in the installer
- [ABX] Support for ABX actions
- [vRO] Support of placeholders in workflow description
- [vRA] Import vRA8 custom resources before blueprints
- [vROPS] Fixed policy import / export problem with vROPs 8.2, maintaining backward compatibility
- [MVN] Fixed ussue with installer timeouts
- [TS] vRO pkg - Adds support for slash in workflow path or name
- [vRBT] Package installer - updated documentation, added checking of workflow input, writing of workflow error message to file, setting of installer exit code when executing of a workflow
- [TS] Allow additional trigger events for policies trigered by the vcd mqtt plugin
- [MVN] Fix Missing vRA Tenant After Successful package import
- [MVN] Fix vROPS import fails on certain assets
Version 2.10.0 Update
- [MVN] Improvements in package installer
- [vROps] Regex support in YAML definitions for vROps content
- [vRLI] Regex support in YAML definitions for vRLI content
- [POL] Added Polyglot and ABX support:
- NodeJS, Python and PowerShell code support
- new archetype: com.vmware.pscoe.polyglot.archetypes:package-polyglot-archetype
- two new project types: com.vmware.pscoe.polyglot:polyglot-project; com.vmware.pscoe.serverless:serverless-project
- tooling for compiling, bundling and packaging: polyglotpkg
- [TS] Added support for description field for workflow inputs and outputs in the Workflow decorator
- [vRA-NG] Fixed NPE error during custom resources import
Version 2.8.8 Update
- [MVN] Support SHA1 checksum generation for JS,TS,XML,vRA,vRANG project types.
- [MVN] Include the pom.xml description content as description of the built vRO package artifact
- [TS-AutoGen] Define a property for storing the version of the API for which this project is generated.
- [TS-AutoGen] Store the API version as part of the vRO package description.
- [vRA-NG] Adds support for import/export of custom resources and resource actions.
- [TS] Typescript projects for vRO, now support syntax for specifying a description for a configuration element attribute.
- [vRA-NG] Adds support for using project name when managing vRA-NG content.
- [vROps] Adds support for vROps 8.1
- [vROps] Change default authentication provider to Token-based Authentication
- [TS] Extend vropkg tool to support Polyglot bundle
- [TS] Support for skipping unmapped dependencies, e.g. --skipUnmappedDeps
- [TS] Bumped up Typescript version to 3.8.3
- [TS] Added support for tsconfig file override using the project option of the tsc executable.
- [MVN] Updated vRBT infrastructure project with latest dependencies and improved installation robustness
- [vROps] Fixes a problem with resource kind during alert definition import
- [TS] Use fixed node package versions
- [vROps] Support for policy assignment to custom groups
- [vRA] Fixes a problem with vra-ng authentication always setting System Domain and users not being able to authenticate with different domain
- [vROps] Removed sshHost from Installer. Use host instead.
- [TS] Make dependency:go-offline execution conditional
- [TS] All version of Node are supported from 10.x and above
- [TS] npm repository is no longer needed [TS] Support for RequireJS imports/exports
- [TS] Support for yaml configurations
- [TS] Improved workflows and policy templates transpilation
- [TS] Improved diagnostic messages
- [TS] Improved handling of cycle references
- [TS] Extended workflow support
- [TS] Support for ES2017.String
Version 2.4.18 Update
- Support vRA 8 support for blueprints, custom forms, subscriptions and flavor-mapping
- vRO 8 support for existing content management and import
- Support vRO 8 export of WFs in a folder structure derived from WF tags
- Support for running WFs on vRO using maven command
- Support persisting JS Actions IDs in source to allow for actions originating in vRO first to not create conflicts
- TypeScript Projects (experimental) support improvements and bug fixes
- General bugs fixing an documentation updates
Version 1.7.1 Update
- Further enhanced the TypeScript projects support (still experimental)
- Bug fixes
Contributors
Similar Flings

Virtual Machine Desired State Configuration
Virtual Machine Desired State Configuration (VMDSC) allows virtual administrators to specify VM CPU/Memory desired state which will take effect upon the next Guest OS reboot. This removes the burden of having to schedule a downtime window with the business/app owners.

VM News Collector
VM News Collector is a real-time news aggregator dedicated to the collection of all kinds of real-time news updates and applicable information & resolutions on all technology products belonging to the VMWARE Group, a technology giant, leading the technology revolution in cloud computing & virtualization fields.
No need to scroll through hundreds of documents looking for informations. VM News Collector App has it all for you.

Red Hat OpenShift Container Platform as a Service on vRealize Automation Cloud
This Fling enables a cloud admin to download the package, integrate with Cloud Assembly and other
Infrastructure services and be able to provide an “OpenShift Cluster as a Service” offering.