Built-in Functions & Variables
- 14 May 2021
- 7 Minutes to read
- Print
- DarkLight
- PDF
Built-in Functions & Variables
- Updated on 14 May 2021
- 7 Minutes to read
- Print
- DarkLight
- PDF
Article Summary
Share feedback
Thanks for sharing your feedback!
This is generated from the built in components of BuildMaster 7.0.0, 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
- $ApplicationDescription([appName]) - description of the current or specified application
- $ApplicationExists(Name, [IncludeInactive]) - Returns true if the application with the specified name exists, optionally including inactive applications.
- $ApplicationGroupName - name of the current application group
- $ApplicationName - name of the current application
- @ApplicationsInGroup(groupName) - list of applications which belong to the specified application group
- @ReleasesInApplication([ApplicationName], [Status]) - Gets a list of release numbers in an application, optionally filtered by status.
Builds
- $ArtifactPath(ArtifactName, [buildNumber], [releaseNumber], [applicationName]) - gets the path within the internal disk store for the specified artifact
- @ArtifactsInBuild([buildNumber], [releaseNumber], [applicationName]) - list of all the artifacts in the current or specified build
- $BuildMasterId(Page, [ApplicationName], [ReleaseNumber], [BuildNumber]) - Gets the internal ID of the specified page.
- $BuildMasterUrl(Page, [ApplicationName], [ReleaseNumber], [BuildNumber]) - Gets the URL of the specified page.
- $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, [BuildNumber], [ReleaseNumber], [ApplicationName]) - Gets the value of a variable defined on a build.
Configuration Files
- @ConfigurationFileInstances(configurationFileName, [appName]) - list configuration file instances defined for an application
- @ConfigurationFiles([appName]) - list configuration files defined for an application
- $ConfigurationFileText(instance, [fileName], [releaseNum]) - text contents of the specified configuration file instance
- $ConfigurationFileVersion([fileName], [releaseNum]) - version number used for deployment of the specified configuration file
Containers
- $ContainerDigest(repositoryName, [tag], [sourceName]) - Gets the digest of a Docker image. The digest is from the image associated with the current build.
- @ContainersInBuild([containerSource]) - Gets a list of Docker images in the current build. Each returned element is a map: %(Name: SomeName, Tag: 1.2.3, Digest: sha1:3924abbeeea2162, ContainerSource: SourceName)
- $ContainerTag(repositoryName, [sourceName]) - Gets the tag of the specified Docker image associated with the current build.
Credentials
- $SecureCredentialProperty(credential, property) - the decrypted plain text value of a specified credentials property
- $SecureResourceProperty(resource, property) - the value of a specified secure resource property
Databases
- @DatabaseConnectionsInEnvironment([environmentName]) - list of database connections for the current application which belong to the specified environment
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
- $EnvironmentName - name of the environment in context
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.
- @FilesOnDisk(includes, [excludes], [directory]) - 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.
- $ResolvePath(Path) - Provides an absolute path (terminated with directory separator) based on a relative path and the current working directory; this will provide appropriate directory separators, based on the server in context
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.
- $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.
- @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.
- $VsTestExePath - The full path to vstest.console.exe; if empty will attempt to resolve the path automatically.
Git
- $DefaultGitExePath - The path to the git executable to use for git operations; if not specified, a built-in library is used
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
- $PackageHash(packageName, [sourceName]) - Gets the hex-encoded SHA1 hash of a package. The hash is from the version of the package associated with the current build.
- $PackageProperty(packageName, packageProperty, [sourceName]) - Gets a value from the metadata of a package. The property is from the version of the package associated with the current build.
- @PackagesInBuild([packageSource]) - Gets a list of packages in the current build. Each returned element is a map: %(Name: SomeName, Version: 1.2.3, PackageSource: SourceName)
- $PackageVersion(packageName, [part], [sourceName]) - Gets the version of the specified package associated with the current build.
Pipelines
- $PipelineName - name of the pipeline in context
- $PipelineStageName - name of the pipeline stage in context
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.
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.
Was this article helpful?