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

Compare with Current View Page History

« Previous Version 35 Next »

What are they?

Expressions are a mechanism for the autocompletion of objects whose values may not be known until build execution time.  They can also be used to autocomplete variables.

Where can I use them?

Expressions can be utilised in several dialogue 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 n 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/AThe disk location (on the server or agent) of a builds' workspace.string$Workspace$\testfolder"D:\ContinuaAgent\Ws\19\"

$Build

NameDescriptionTypeUsage Example
IdA unique Integer allocated automatically to this buildString$Build.Id$"10"
VersionThe build version. This is derived from the configuration 'Version Format String' field on the configuration details tabVersion$Build.Version.Default.Major$"1"
StartedByThe username of the user who initiated the buildString$Build.StartedBy$"peter.toms@finalbuilder.com"
IsFeatureBranchBuildUtilized via build triggers, this descriptor is set to true when a build is triggered on a non-default branchBoolean$Build.IsFeatureBranchBuild$true
BuildNumberAn incremental number allocated to this build (The first build will be build number 0)Numeric$Build.BuildNumber$100
MetricsA placeholder for metrics related to this build (eg the number of unit tests passed)Metrics$Build.Metrics$N/A
HasNewChangesDoes this build contain any new Changesets (which Continua has not yet seen)Boolean$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 on the Configuration Details PageString$Configuration.Name$

$Agent

NameDescriptionTypeUsage Example
PortThe Port number used for agent communicationString$Agent.Port$
HostnameThe Agents HostnameString$Agent.Hostname$
NowThe current date and time given as agent localdatetime$Agent.Now$
NowUTCThe Date and Time given as UTCdatetime$Agent.NowUtc$
InstallPathThe installation path of the agent (eg C:\ContinuaAgentInstall)String$Agent.InstallPath$
GetUserEnvironmentVairableGets the specified user environment variable (relative to the agent machine's service user, and relative to the agent machine)String$Agent.GetUserEnvironmentVairable("TEMP")$
GetMachineEnvironmentVairableGets the specified Machine Environment Variable (relative to the agent machine) String$Agent.GetMachineEnvironmentVairable("NUMBER_OF_PROCESSORS")$
N/AWhat follows is a list of property collectorsProperty Collector$Agent.NuGet.Default.Path$

$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.ToLower$
DescriptionThe description of the Project for which this configuration is a part of (as Provided on the Project Details page)String$Project.Description.ToLower$
SlugA shorterned version of the project name which is safe to use within Url's and other identifiers. For example "New Project 1" would have a slug of "New_Project_1"String$Project.Slug.ToLower$

$Source

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

$Server

NameDescriptionTypeUsage Example
NowThe current date and time given as server localDateTime$Server.Now.Day$
NowUtcThe date and time given as UTCDateTime$Server.NowUtc.Month$
HostnameThe Continua server hostnameString$Server.Hostname.ToLower$
InstallPathThe Continua server install path (eg C:\Program Files\VSoft\)String$Server.InstallPath.ToLower$
UrlThe Server URL (eg http://ContinuaServerName)String$Server.Url.ToLower$

$Utils

NameDescriptionTypeUsage Example
NewGuidCreate a randomly generated GuidGuid$Utils.NewGuid$
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.

DateTime

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

$Utils.RandomNumber("10")$

$Utils.RandomNumber$

Repository (used by $Source )

NameDescriptionTypeUsage Example
BranchThe name of the branch associated with the build for the given repository ()String$Source.RepoName.Branch.ToLower$
BranchName String$Source.RepoName.BranchName.ToLower$
LatestChangesetA placeholder for the changeset information related to the most recent changeset for the given repositoryChangeset$Source.RepoName.LatestChangeset.Comment$
Path String$Source.RepoName.Path.ToLower$
Tag String$Source.RepoName.Tag.ToLower$
Type String$Source.RepoNamea.Type$
Url String$Source.RepoName.Url$

Changeset (used by $Source)

NameDescriptionTypeUsage Example
Id String$Source.RepoName.Id$
Comment String$Source.RepoName.Comment$
Repositoryusername String$Source.RepoName.Repositoryusername$
Branch String$Source.RepoName.Branch$
Branchname String$Source.RepoName.Branchname$
Created Datetime$Source.RepoName.Created$
Filecount Int$Source.RepoName.Filecount$
Committerusername String$Source.RepoName.Committerusername$
Committerfullname String$Source.RepoName.Committerfullname$

Stage (used by $Source)

NameDescriptionTypeUsage Example
Name   
Metrics   

Metrics (used by $Build)

NameDescriptionTypeUsage Example
Compiler   
Unit Tests   

Version (used by $Source)

NameDescriptionTypeUsage Example
Major   
Minor   
Build   
Revision   

 

 

  • No labels