BuildMaster Documentation

Built-in Functions & Variables

  • Last Modified: 2019-08-08

This is generated from the built-in components of BuildMaster 6.1.10, 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

  • $CredentialProperty (credential, property) - the decrypted plain text value of a specified credentials property

Databases

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]) - build 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 build 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.
  • @FileMask (includes, [excludes]) - Returns a list of files matching the mask 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.
  • $SpecialWindowsPath (Name) - Returns the full path of a special directory on a Windows system.

Json

  • FromJson (json) - Converts JSON to an OtterScript value.
  • $JSEncode (Text) - Encodes a string for use in a JavaScript string literal.
  • $ToJson (data) - Converts an OtterScript value to JSON.

Linux

  • $SHEval (ScriptText) - Returns the output of a shell script.

Lists

  • @ListConcat - Creates a list containing the contents of each list in sequence.
  • $ListCount (List) - Count the number of elements in a list.
  • $ListIndexOf (List, Item) - Finds the index of an item in a list. Finding the first item in a list returns 0, and finding an item not present in the list returns -1.
  • @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

  • $Compare (Arg1, Operator, Arg2, [AsNumber]) - Compare two values numerically or as case-sensitive strings.
  • $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, [buildNum], [releaseNum], [appName]) - gets the path within the internal disk store for the specified artifact
  • @ArtifactsInBuild ([buildNum], [releaseNum], [appName]) - list of all the artifacts in the current or specified build
  • $BuildNumber ([releaseNum], [furthestOrLatest], [appName]) - build number of the current or specified release
  • @BuildsInRelease ([ReleaseNumber], [ApplicationName], [Status], [PipelineStage]) - Gets a list of builds in a release, optionally filtered by status and pipeline stage.
  • BuildVariable (VariableName, [PackageNumber], [ReleaseNumber], [ApplicationName]) - Gets the value of a variable defined on a build.

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
  • $IncrementReleaseNumber (lastReleaseNumber, [releaseNumberScheme]) - Returns the next release number that would be assigned.
  • $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, build, revision) of the current or specified release number
  • ReleaseVariable (VariableName, [ReleaseNumber], [ApplicationName]) - Gets the value of a variable defined on a release.

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

Strings

  • $Coalesce - Returns the first argument which does not contain only whitespace.
  • $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
  • $PadLeft (Text, Length, [PadCharacter]) - Returns a new string that right-aligns the characters in this instance by padding them on the left with a specified character, for a specified total length.
  • $PadRight (Text, Length, [PadCharacter]) - Returns a new string that left-aligns the characters in this instance by padding them on the left with a specified character, for a specified total length.
  • @RegexFind (Text, MatchExpression, [MatchGroup]) - Finds all matches of a regular expression in a string, optionally returning only a matched group.
  • $RegexReplace (Text, MatchExpression, ReplaceWith) - Searches for and replaces text in a string using a regular expression.
  • $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.

Xml

  • $XmlEncode (Text) - Encodes a string for use in an XML element.

Is this documentation incorrect or incomplete? Help us by contributing!

This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.

Generated from commit 7dbbedf1 on master