Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

For the list of expressions available for version 1.9.1 of Continua CI see Expression Objects.

What are they?

Expressions are a mechanism for the autocompletion of values which may not be known until build execution time (for example the current build number).  They can also be used to autocomplete variables.


Where can I use them?

Expressions can be utilised in several dialog fields throughout Continua (they are especially useful within stage actions, and build event handlers).  

The expansion icon (below) denotes fields that have expression capabilities. Note is some areas, such as configuration variables, you can click on this icon to disable expressions

 

Expression Expansion

To initiate an expansion, simply type the dollar symbol '$' and the expression auto complete will present (note: not all objects are available in all fields).


Image Added


Table of Contents
 
minLevel
Image Removed
3

Anchor
workspace
workspace
$Workspace

NameDescriptionTypeUsage Examples
N/ARepresents the full path
disk location
of a
builds
build's workspace folder.String$Workspace$\testfolder"D:\ContinuaAgent\Ws\19\"


Anchor
build
build
$Build

NameDescriptionTypeUsage Example
IdA unique Integer allocated automatically to this buildString$Build.Id$"10"
VersionA
placeholder
reference object for the build version (as defined below).Version$Build.
Version.Default.Major$
Version$N/A
"1"
StartedByThe username of the user who initiated the buildString$Build.StartedBy$"peter.toms@finalbuilder.com"
IsFeatureBranchBuildUtilised via build triggers
, this descriptor
. This expression is set to true when a build is triggered on a non-default branchBoolean$Build.IsFeatureBranchBuild$true
BuildNumber
An incremental number
A zero-based auto-incremented integer allocated to this build (the first build will be build
number
0, the second build 1, etc)Integer$Build.BuildNumber$100
MetricsA reference object to the metrics associated with this build (as defined below).Metrics$Build.Metrics$N/A
HasNewChangesDoes this build contain
any new Changesets for this build
changesets which have not been associated with a previous build?Boolean$Build.HasNewChanges$true
LinkUrlBuild details
Url
URLString$Build.LinkUrl$"http:\\SERVERNAME\New_Project_1\ci\builds\view\123" 


Anchor
configuration
configuration
$Configuration

NameDescriptionTypeUsage Examples
 

NameName of the
Configuration
configuration (as defined
on
within the Configuration details page)String$Configuration.Name$"New Configuration 1"
RunningBuildsThe number of currently running buildsInteger$Configuration.RunningBuilds$1
QueuedBuildsThe number of currently queued buildsInteger$Configuration.QueuedBuilds$1
InitialisingBuildsThe number of currently initialising buildsInteger$Configuration.InitialisingBuilds$1


Anchor
agent
agent
$Agent

NameDescriptionTypeUsage Example
PortThe
Port
port number used for agent communicationString$Agent.Port$"9000"
HostnameThe
Agents Hostname
agents host nameString$Agent.Hostname$"AGENTMACHINE"
NowThe current date and time given as local to the agent
local
Datetime
DateTime$Agent.Now$"2014 4:51:44 PM"
NowUTCThe
Date
current date and
Time
time given as UTC
Datetime
DateTime$Agent.NowUtc$"2014 6:52:25 AM"
InstallPathThe installation path of the agentString$Agent.InstallPath$"C:\Program Files\VSoft Technologies\ContinuaCIAgent\"
GetUserEnvironmentVairable
GetUserEnvironmentVariableGets the specified Windows user environment variable (relative to the agent machine's service user, and relative to the agent machine)String$Agent.
GetUserEnvironmentVairable
GetUserEnvironmentVariable("TEMP")$"%USERPROFILE%\AppData\Local\Temp"
GetMachineEnvironmentVairable
GetMachineEnvironmentVariableGets the specified
Machine Environment Variable
Windows machine environment variable (relative to the agent machine) String$Agent.
GetMachineEnvironmentVairable
GetMachineEnvironmentVariable("NUMBER_OF_PROCESSORS")$"8"
N/A
A
Within the Agent object is a list of the current agent property collectorsProperty Collector$Agent.NuGet.Default.Path$"C:\Program Files\NuGet\NuGet.exe"


Anchor
project
project
$Project

NameDescriptionTypeUsage Example
NameThe name of
the Project for which this
the project the current configuration is a part of (as
Provided
provided on the Project
Details
details page)String$Project.Name$"New Project 1"
DescriptionThe description of
the Project for which this
the project the current configuration is a part of (as
Provided
provided on the Project
Details
details page)String$Project.Description$"This is a description for new project 1"
SlugA
shorterned
shortened version of the project name which is safe to use within
Url's
URLs and other whitespace sensitive identifiers.String$Project.Slug$"New_Project_1"


Anchor
source
source
$Source

NameDescriptionTypeUsage Example
List of the repositories associated with configurationWhat follows is a
N/AA list of repositories associated with the
given
current configurationRepository$Source.Reponame$"Mercurial_Test_1"


Anchor
server
server
$Server

NameDescriptionTypeUsage Example
NowThe current date and time given as local to the server
local
DateTime$Server.Now$"01/01/2014 5:03:18 PM"
NowUtcThe date and time given as UTCDateTime$Server.NowUtc$"01/01/2014 7:04:01 AM"
HostnameThe Continua server hostnameString$Server.Hostname$"SERVERMACHINE"
InstallPathThe Continua server install pathString$Server.InstallPath$"C:\Program Files\VSoft Technologies\ContinuaCI\"
UrlThe
Server
web service URLString$Server.Url$"http:\\SERVERNAME:8080"


Anchor
utils
utils
$Utils

NameDescriptionTypeUsage Example
 

NewGuidCreate a new randomly generated
Guid
GUIDGuid$Utils.NewGuid$"da47b2d6-3580-48ed-b27a-f152da2345e6"
RandomNumber

Generate a new random integer value

If one parameter is provided it designates a random number in the range of greater than or equal to zero and the number provided will be generated

If two parameters are provided they designate the range for the generated number.

If no parameters are provided

an

a 32-bit integer greater than or equal to zero and less than

int32

Int32 max value (2,147,483,647) will be generated.

Integer

$Utils.RandomNumber("1", "10")$

$Utils.RandomNumber("10")$

$Utils.RandomNumber$

5

2

1906529119 


Anchor
repository
repository
Repository (used by $Source )

NameDescriptionTypeUsage Example
BranchThe full name of the branch associated with the build for the given
repository
repositoryString$Source.RepoName.Branch$"/branches/a_test_branch"
BranchNameThe branch name of the branch associated with the build for the given
repository
repositoryString$Source.RepoName.BranchName$"a_test_branch"
BuiltChangesetA reference object to the changeset information related to the changeset which is being built for the given repository (as defined below)Changeset$Source.RepoName.BuildChangeset.TagNames$"tag1,tag2,tag3"
CommitsSinceLatestTagThe number of commits listed in the changeset history for the current branch of the given repository since the latest tagInteger$Source.RepoName.CommitsSinceLatestTag$3
LatestChangesetA reference object to the
Changeset
changeset information related to the most recent
changeset
changeset for the given
repository
repository (as defined below).Changeset$Source.RepoName.LatestChangeset.Comment$"a comment from the last commit"
LatestTagNameThe latest tag name (if one exists) listed in the changeset history for the current branch of the given repositoryString$Source.RepoName.LatestTagName$"tag3"
LatestTriggeringChangesetA reference object to the changeset information related to the latest changeset for the given repository which triggerred this build (as defined below)Changeset$Source.RepoName.BuildChangeset.BranchName$"master"
PathThe disk location of the source associated with the build for the given
repository
repositoryString$Source.RepoName.Path$"C:\ContinuaAgent\Ws\44\Source\"
TagThe tag name (if one exists) associated with the build for the given
repository
repositoryString$Source.RepoName.Tag$"v3-release"
TypeThe
Repository
repository product being usedString$Source.RepoName.Type$"Mercurial"
UrlThe
Url
URL of the repository in question (as defined within the repository preferences)String$Source.RepoName.Url$"https://github.com/VSoftTechnologies/Delphi-Mocks.git"


Anchor
changeset
changeset
Changeset (used by $Source)

NameDescriptionTypeUsage Example
IdA unique
id
identifier given to this
changeset
changesetString$Source.RepoName.
LatestChangeset
BuiltChangeset.Id$"a4ae66dffe5342e47c3aaf987bced4e9a320559e"
CommentThis comment associated with this changesetString$Source.RepoName.
LatestChangeset
BuiltChangeset.Comment$"This is a test commit"
Repositoryusername
RepositoryUsernameThe username of the repository user who committed this changesetString$Source.RepoName.
LatestChangeset
BuiltChangeset.
Repositoryusername
RepositoryUsername$"Peter Toms"
BranchThe full branch path of the latest changeset associated with this repositoryString$Source.RepoName.
LatestChangeset
BuiltChangeset.Branch$"/branches/a_test_branch"
Branchname
BranchNameThe branch name of the latest changeset associated with this repositoryString$Source.RepoName.
LatestChangeset
BuiltChangeset.
Branchname
BranchName$"a_test_branch"
CreatedThe
created date of this changeset (
date and time when the changeset was committed or created within the source repository
)
Datetime
DateTime$Source.RepoName.
LatestChangeset
BuiltChangeset.Created$"11/09/2014 1:48:36 AM"
Filecount
FileCountThe number of file changes associated with this commit
Int
Integer$Source.RepoName.
LatestChangeset
BuiltChangeset.
Filecount
FileCount$1
Committerusername
CommitterUserNameThe
Username
username of the Continua User who committed this changeset (if one exists based on user repository mappings )String$Source.RepoName.
LatestChangeset
BuiltChangeset.
Committerusername
CommitterUserName$"peter.toms@finalbuilder.com"
Committerfullname
CommitterFullNameThe
Full
full name of the Continua user who committed this changeset (if one exists based on user repository mappings)String$Source.RepoName.
LatestChangeset
BuiltChangeset.
Committerfullname
CommitterFullName$"Peter Toms"
FirstTagNameThe name of the first (or earliest) tag associated with this changesetString$Source.RepoName.BuiltChangeset.FirstTagName$"tag1"
LatestTagNameThe name of the latest tag associated with this changesetString$Source.RepoName.BuiltChangeset.LatestTagName$"tag3"
TagNamesA comma-delimited list of tags associated with this changesetString$Source.RepoName.BuiltChangeset.TagNames$"tag1,tag2,tag3"
ChangedTagNameThe name of the tag which was changed by this changesetString$Source.RepoName.LatestTriggeringChangeset.ChangedTagName$"tag3"


Anchor
stage
stage
Stage (used by

...

$Build)

NameDescriptionTypeUsage Example
NameThe stage name as defined within the workflow editorString$Build.Stage.Name"this is a test stage"
MetricsA reference object to the metrics associated with this build (as defined below).Metrics$Build.Stage.MetricsN/A


Anchor
metrics
metrics
Metrics (used by $Build)

NameDescriptionTypeUsage Example
Compiler.WarningThe total number of compiler warnings for the current build (eg
msbuild
MSBuild or Visual Studio build warnings)Integer$Build.Metrics.Compiler.Warning$5
Compiler.ErrorThe total number of compiler errors for the current build (eg
msbuild
MSBuild or Visual Studio build errors)Integer$Build.Metrics.Compiler.Error$5
Unit Tests
UnitTestsA reference object for the
Unit Test Metric details
unit test metric details (as defined below)UnitTests
Unit Tests
$Build.Metrics.UnitTests
.Passed$
10
N/A


Anchor
unittests
unittests

...

UnitTests (used by $Build.Metrics)

NameDescriptionTypeUsage Example
FixtureCountThe total number of
compiler warnings for the current build (eg msbuild or Visual Studio build warnings)
test fixturesInteger$Build.Metrics.UnitTests.FixtureCount$5
CaseCountThe total number of
compiler errors for the current build (eg msbuild or Visual Studio build errors)
test casesInteger$Build.Metrics.UnitTests.CaseCount$5
Passed
A placeholder object for the Unit Test Metric details
The number of passed testsInteger$Build.Metrics.UnitTests.Passed$10
FailedThe number of failed testsInteger$Build.Metrics.UnitTests.Failed$5
ErrorThe number of tests in errorInteger$Build.Metrics.UnitTests.Error$1
NotRunThe number of tests not runInteger$Build.Metrics.UnitTests.NotRun$1
InconclusiveThe number of inconclusive testsInteger$Build.Metrics.UnitTests.Inconclusive$1
IgnoredThe number of ignored testsInteger$Build.Metrics.UnitTests.Ignored$1
InvalidThe number of invalid testsInteger$Build.Metrics.UnitTests.Invalid$1
SkippedThe number of skipped testsInteger$Build.Metrics.UnitTests.Skipped$1


Anchor
version
version
Version (used by $Build.Version)

NameDescriptionTypeUsage Example
DefaultA
placeholder
reference object for the default version
object
Default$Build.Version.DefaultN/A
DotNetA
placeholder
reference object for the
default
.Net version
object
DotNet$Build.Version.DotNetN/A


Anchor
default
default
Default (used by $Build.Version.Default)

NameDescriptionTypeUsage Example
MajorThe version major portion of the version numberInteger$Build.Version.Default.Major$"1" (given "1.2.3.4")
MinorThe version minor portion of the version numberInteger$Build.Version.Default.Minor$"2" (given "1.2.3.4")
BuildThe version build portion of the version numberInteger$Build.Version.Default.Build$"3" (given "1.2.3.4")
RevisionThe version revision portion of the version numberInteger$Build.Version.Default.Revision$"4" (given "1.2.3.4")


Anchor
dotnet
dotnet
DotNet (used by $Build.Version.DotNet)

NameDescriptionTypeUsage Example
MajorThe version major portion of the version numberInteger$Build.Version.DotNet.Major$"1" (given "1.2.0.1287")
MinorThe version minor portion of the version numberInteger$Build.Version.DotNet.Minor$"2" (
fromgiven
given "1.2.0.1287")
BuildThe version build portion of the version numberInteger$Build.Version.DotNet.Build$"0" (given "1.2.0.1287")
RevisionThe version revision portion of the version numberInteger$Build.Version.DotNet.Revision$"1287" (given "1.2.0.1287")


Anchor
dotnet
dotnet
General Functions (used by DateTime and String objects)

NameDescriptionTypeUsage Examples
FormatFormats a date or time value using standard or custom .Net formatting stringsString$Server.Now.Format("hh:mm")$"23:55" (given the date time "31/12/2000 23:55:333")
ToLowerConverts a string to lowercaseString$Source.RepoName.Branch.ToLower$"version 1.5" (given "Version 1.5")
ToUpperConverts a string to uppercaseString$Project.Name.ToUpper$"PROJECT X" (given "Project X")
TrimRemoves all leading and trailing occurrences of whitespace or the characters in the string providedString

$Build.Version.Trim$

$Build.Version.Trim(".,")$

"a b c d" (given " a b c d  ")

"a.b.c.d" (given ",a.b.c.d.")

ReplaceReplaces all occurrences of the first specified string in the current string with the second specified stringString$Configuration.Name.Replace("v.", "version" )$"Test Config version 10" (given "Test Config v. 10")