You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 66 Next »

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.

 

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).

 

$Workspace

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

$Build

NameDescriptionTypeUsage Example
IdA unique Integer allocated automatically to this buildString$Build.Id$"10"
VersionA reference object for the build version (as defined below).Version$Build.VersionN/A
StartedByThe username of the user who initiated the buildString$Build.StartedBy$"peter.toms@finalbuilder.com"
IsFeatureBranchBuildUtilised via build triggers, this expression is set to true when a build is triggered on a non-default branchBoolean$Build.IsFeatureBranchBuild$true
BuildNumberA 0 based auto incremented integer allocated to this build (the first build will be build 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 Changesets which have not been associated with a previous buildBoolean$Build.HasNewChanges$true
LinkUrlBuild details UrlString$Build.LinkUrl$"http:\\SERVERNAME\New_Project_1\ci\builds\view\123" 

$Configuration

NameDescriptionTypeUsage Examples 
NameName of the Configuration (as defined within the Configuration details page)String$Configuration.Name$"New Configuration 1"

$Agent

NameDescriptionTypeUsage Example
PortThe Port number used for agent communicationString$Agent.Port$"9000"
HostnameThe Agents HostnameString$Agent.Hostname$"AGENTMACHINE"
NowThe current date and time given as agent localDatetime$Agent.Now$"2014 4:51:44 PM"
NowUTCThe Date and Time given as UTCDatetime$Agent.NowUtc$"2014 6:52:25 AM"
InstallPathThe installation path of the agentString$Agent.InstallPath$"C:\Program Files\VSoft Technologies\ContinuaCIAgent\"
GetUserEnvironmentVairableGets the specified user Windows environment variable (relative to the agent machine's service user, and relative to the agent machine)String$Agent.GetUserEnvironmentVairable("TEMP")$"%USERPROFILE%\AppData\Local\Temp"
GetMachineEnvironmentVairableGets the specified machine Windows environment variable (relative to the agent machine) String$Agent.GetMachineEnvironmentVairable("NUMBER_OF_PROCESSORS")$"8"
N/AWithin this object is a list of the current agent property collectorsProperty Collector$Agent.NuGet.Default.Path$"C:\Program Files\NuGet\NuGet.exe"

$Project

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

$Source

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

$Server

NameDescriptionTypeUsage Example
NowThe current date and time given as server localDateTime$Server.Now$"2014 5:03:18 PM"
NowUtcThe date and time given as UTCDateTime$Server.NowUtc$"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 URLString$Server.Url$"http:\\SERVERNAME:8080"

$Utils

NameDescriptionTypeUsage Example 
NewGuidCreate a new randomly generated 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 32-bit integer greater than or equal to zero and less than int32 max value (2,147,483,647) will be generated.

Integer

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

$Utils.RandomNumber("10")$

$Utils.RandomNumber$

5

2

1906529119 

Repository (used by $Source )

NameDescriptionTypeUsage Example
BranchThe full name of the branch associated with the build for the given RepositoryString$Source.RepoName.Branch$"/branches/a_test_branch"
BranchNameThe branch name of the branch associated with the build for the given RepositoryString$Source.RepoName.BranchName$"a_test_branch"
LatestChangesetA reference object to the Changeset information related to the most recent Changeset for the given Repository (as defined below).Changeset$Source.RepoName.LatestChangeset.Comment$"a comment from the last commit"
PathThe disk location of the source associated with the build for the given RepositoryString$Source.RepoName.Path$"C:\ContinuaAgent\Ws\44\Source\"
TagThe tag name (if one exists) associated with the build for the given RepositoryString$Source.RepoName.Tag$"v3-release"
TypeThe Repository product being usedString$Source.RepoName.Type$"Mercurial"
UrlThe Url of the repository in question (as defined within the repository preferences)String$Source.RepoName.Url$"https://github.com/VSoftTechnologies/Delphi-Mocks.git"

Changeset (used by $Source)

NameDescriptionTypeUsage Example
IdA unique identifier given to this ChangesetString$Source.RepoName.LatestChangeset.Id$"a4ae66dffe5342e47c3aaf987bced4e9a320559e"
CommentThis comment associated with this ChangesetString$Source.RepoName.LatestChangeset.Comment$"This is a test commit"
RepositoryusernameThe username of the user who committed this ChangesetString$Source.RepoName.LatestChangeset.Repositoryusername$"Peter Toms"
BranchThe full branch path of the latest Changeset associated with this RepositoryString$Source.RepoName.LatestChangeset.Branch$"/branches/a_test_branch"
BranchnameThe branch name of the latest Changeset associated with this RepositoryString$Source.RepoName.LatestChangeset.Branchname$"a_test_branch"
CreatedThe created date of this Changeset (when the Changeset was created within the source Repository)Datetime$Source.RepoName.LatestChangeset.Created$"11/09/2014 1:48:36 AM"
FilecountThe number of file changes associated with this commitInt$Source.RepoName.LatestChangeset.Filecount$1
CommitterusernameThe Username of the Continua User who committed this changeset (if one exists based on user repository mappings )String$Source.RepoName.LatestChangeset.Committerusername$"peter.toms@finalbuilder.com"
CommitterfullnameThe Full name of the Continua user who committed this changeset (if one exists based on user repository mappings)String$Source.RepoName.LatestChangeset.Committerfullname$"Peter Toms"

Stage (used by $Source)

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

Metrics (used by $Build)

NameDescriptionTypeUsage Example
Compiler.WarningThe total number of compiler warnings for the current build (eg 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 or Visual Studio build errors)Integer$Build.Metrics.Compiler.Error$5
Unit TestsA reference object for the Unit Test Metric detailsUnit Tests$Build.Metrics.UnitTests.Passed$10

Unit Tests (used by $Build.Metrics)

NameDescriptionTypeUsage Example
FixtureCountThe total number of test fixturesInteger$Build.Metrics.UnitTests.FixtureCount$5
CaseCountThe total number of test casesInteger$Build.Metrics.UnitTests.CaseCount$5
PassedThe 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

Version (used by $Build.Version)

NameDescriptionTypeUsage Example
DefaultA reference object for the default versionDefault$Build.Version.DefaultN/A
DotNetA reference object for the Dot Net versionDotNet$Build.Version.DotNetN/A

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")

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"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")
  • No labels