BuildMaster Documentation

Built-in Functions & Variables

This is generated from the built-in components of BuildMaster 5.7.1, and may be different than what you have installed (especially if you have extensions); go to [User Icon] > Documentation within your BuildMaster instance to see exactly what operations are available.

Applications

Configuration Files

Credentials

Deployables

  • @DependentApplications ([appName]) - list of applications which import at least one deployable from the specified application
  • @DependentReleases (appName) - list of active or deployed releases from the specified application with at least one deployable imported from the current release of the current application
  • $DeployableName ([depName], [releaseNum]) - name of the current deployable in context
  • @DeployablesInRelease ([appName], [releaseNum], [includeImported]) - list of deployables included in the specified release, or the current release in context
  • $ReferencedApplicationName ([depName], [releaseNum]) - application name referenced by the current or specified deployable
  • $ReferencedPackageNumber ([depName], [releaseNum], [furthestOrLatest]) - package number referenced by the current or specified deployable
  • $ReferencedReleaseName ([depName], [releaseNum]) - release name of the current deployable in context
  • $ReferencedReleaseNumber ([depName], [releaseNum]) - release number of the current deployable in context

Environments

Executions

  • $ExecutionId - Returns the current execution ID.
  • $ExecutionState - Returns the current state of the execution (normal, warning, or error).
  • $ExecutionUser - user name that initiated the current execution
  • GetVariableValue (VariableName, [VariableType]) - Returns the value of a variable if the specified variable name is available in the current context; otherwise returns null.
  • $IsReexecution - true if the current execution is a redeployment
  • $IsRollback - true if a package from an earlier release is redeployed to a stage
  • $IsVariableDefined (VariableName, [VariableType]) - Returns true if the specified variable name is available in the current context; otherwise returns false.
  • $WorkingDirectory - Returns the current working directory.

Files

  • $DirectoryExists (name) - Returns "true" if the specified directory exists on the current server.
  • $FileContents (name, [maxLength]) - Returns the contents of a file on the current server.
  • $FileExists (name) - Returns "true" if the specified file exists on the current server.
  • $PathCombine (Path1, Path2) - Returns a string containing all of the arguments combined into a complete path.

General

  • $Date ([Format]) - Returns the current date and time of the local timezone in the specified .NET datetime format string, or ISO 8601 format (yyyy-MM-ddThh:mm:ss) if no format is specified.
  • $DateUtc ([Format]) - Returns the current UTC date and time in the specified .NET datetime format string, or ISO 8601 format (yyyy-MM-ddThh:mm:ss) if no format is specified.
  • Eval (Text) - Performs variable substitution and function evaluation for arbitrary text.
  • @Range (Start, Count) - Returns a range of integers starting from a specified value.
  • @ServersInEnvironment ([EnvironmentName], [IncludeInactive]) - Returns a list of all the servers in the specified environment name.
  • @ServersInRole ([RoleName], [IncludeInactive]) - Returns a list of servers in the specified role.
  • @ServersInRoleAndEnvironment ([RoleName], [EnvironmentName], [IncludeInactive]) - Returns a list of all the servers in the specified role and environment name.

Lists

  • $ListCount (List) - Count the number of elements in a list.
  • $ListIndexOf (List, Item) - Finds the index of an item in a list.
  • @ListInsert (List, Item, [Index]) - Inserts an item into a list.
  • ListItem (List, Index) - Gets an item from a list.
  • @ListRemove (List, Index) - Removes an item from a list.

Maps

  • MapAdd (Map, Key, Value) - Adds a key-value pair to a map.
  • MapItem (Map, Key) - Gets an item from a map.
  • @MapKeys (Map) - Lists the keys of a map.
  • MapRemove (Map, Key) - Removes a key from a map.

Math

  • $Decrement (value, [amount]) - Returns a string that contains the result of decrementing a value.
  • $Increment (value, [amount]) - Returns a string that contains the result of incrementing a value.

Packages

  • $ArtifactPath (ArtifactName, [packageNum], [releaseNum], [appName]) - gets the path within the internal disk store for the specified artifact
  • @ArtifactsInPackage ([packageNum], [releaseNum], [appName]) - list of all the artifacts in the current or specified package
  • $PackageNumber ([releaseNum], [furthestOrLatest], [appName]) - package number of the current or specified release

Pipelines

PowerShell

  • $PSCredential (UserName, Password) - Returns a PSCredential object that can be passed to PowerShell scripts.
  • PSEval (ScriptText) - Returns the result of a PowerShell script.

Releases

  • $CompareReleaseSequence (operator, releaseNum1, [releaseNum2]) - compares the release number of the current application with a specified release number
  • $PreviousReleaseNumber ([ReleaseNumber], [ApplicationName]) - release number of the last deployed release, relative to the specified or current release
  • $ReleaseName ([ReleaseNumber], [ApplicationName]) - name of the current or specified release
  • $ReleaseNumber - release number of the current release
  • $ReleaseNumberPart (Part, [ReleaseNumber]) - a part (major, minor, revision) of the current or specified release number

Server

  • $MSBuildToolsPath - The directory of the MSBuild tools, typically in 'C:\Program Files (x86)\MSBuild\{ToolsVersion}\Bin'; if empty, the MSBuildToolsPath registry value under SOFTWARE\Microsoft\MSBuild\ToolsVersions will be used.
  • $SignToolPath - The full path to signtool.exe; if empty will attempt to resolve the path automatically.

Servers

  • @AcquiredServers (Role) - list of all of the servers acquired for a specified role
  • @AllEnvironments - Returns a list of all environments.
  • @AllRoles - Returns a list of all server roles.
  • @AllServers ([IncludeInactive]) - Returns a list of all servers.
  • $EnvironmentVariable (EnvironmentVariableName) - Returns the value of the specified environment variable on the current server.
  • $RoleName - name of the current server role in context
  • $ServerName - name of the current server in context

Strings

  • $HtmlEncode (Text) - Encodes a string for use in HTML.
  • $Join (Separator, Values) - Concatenates all elements of a list into a string using a specified separator.
  • $JSEncode (Text) - Encodes a string for use as a JavaScript literal.
  • $MatchesRegex (Text, RegexPattern) - Returns true when the specified text matches the specified pattern; otherwise returns false.
  • $NewLine ([WindowsOrLinux]) - newline string for either the operating system of the current server in context or specifically Windows or Linux
  • $Replace (Text, Value, ReplaceWith, [IgnoreCase]) - Searches for and replaces text in a string.
  • @Split (Text, Separator, [Count]) - Splits a string into substrings based on a specified separator.
  • $Substring (Text, Offset, [Length]) - Returns a segment of another string.
  • $ToLower (Text) - Returns a string with all letters converted to lowercase.
  • $ToUpper (Text) - Returns a string with all letters converted to uppercase.
  • $Trim (Text) - Returns a string with all leading and trailing whitespace characters removed, or optionally a set of specified characters.
  • $TrimEnd (Text) - Returns a string with all trailing whitespace characters removed, or optionally a set of specified characters.
  • $TrimStart (Text) - Returns a string with all leading whitespace characters removed, or optionally a set of specified characters.
  • $UrlEncode (Text) - Escapes a string for use in a URL.