This page contains descriptions of the fields and options available when setting up VCS roots using Perforce.
Common VCS Root properties are described here.
A Perforce client must be installed on the TeamCity server and it should be present in PATH. Alternatively, a full path to
If you plan to use the agent-side checkout mode, note that a Perforce client must be installed on the agents, and the path to the p4 executable must be added to the PATH environment variable.
Also check TeamCity and Perforce compatibility.
Specify the Perforce server address. The format is
Click this radio button to specify an existing Perforce stream. TeamCity will use this stream to prepare the stream-based workspace, and will use the client mapping from such a workspace.
Prior to TeamCity 2017.2, TeamCity supports streams stored one level below the depot name: the format is //streamdepot/streamname.
Enable feature branches support (experimental) - select this check box to specify branch streams you want to be monitored for changes in addition to the default one. Enter / Edit the branch specification as a newline-delimited set of rules. The syntax is
Click this radio button to directly specify the client workspace name. The workspace must be already created by a Perforce client application like P4V or P4Win. Only the mapping rules from the configured client workspace are used. The client name is ignored.
Click this radio button to specify the mapping of the depot to the client computer.
Since TeamCity 10.0, Clean Checkout on a client mapping change is not enforced for the agent-side checkout in the following cases:
If the direct client mapping is changed, a clean checkout will be forced unless the
Specify the user login name.
Password or Ticket
Specify the password or ticket.
Check this option to enable ticket-based authentication. This option is enabled by default and not displayed since TeamCity 2017.1
When the agent-side checkout is used, TeamCity creates a Perforce workspace for each checkout directory/VCS root. These workspaces are automatically created when necessary and are automatically deleted after some idle time.
It is possible to customize the name generated by TeamCity: add the
teamcity.perforce.workspace.prefix configuration parameter at the Parameters page with the prefix in the value.
If needed, you can set here the following options for the
Run 'p4 clean' for cleanup
Enable this option to clean up your workspace from extra files before a build (since p4 2014.1) When enabled, the
Skip the have list update:
Enable this option not to track files on the Perforce server on sync (always transfer all files to the agent, p4 sync -p)
Extra sync options
Specify additional 'p4 sync' options, like
With checkout on agent, TeamCity provides environment variables describing the Perforce workspace created during the checkout process.
If several Perforce VCS Roots are used for the checkout, the variables are created for the first VCS root.
The variables are:
vcsroot.<VCS root ID>.userparameter
vcsroot.<VCS root ID>.portparameter
These variables can be used to perform custom p4 commands after the checkout.
More information: Perforce Workspace Handling in TeamCity
To allow using Perforce proxy with the agent-side checkout, specify the
env.TEAMCITY_P4PORT environment variable on the build agent and the agent will take this value as the
P4 path on the build agent
Specify the path to the Perforce command-line client:
Prior to TeamCity 2017.2.2 this path was be used for both the server-side checkout and the agent-side checkout. Since TeamCity 2017.2.2 this field works only on the agent side for agent-side checkout. For the server, the p4 binary should be present in the PATH of the TeamCity server or can be specified via the
To restore old behavior, the
Label/changelist to sync
If you need to check out sources not with the latest revision, but with a specific Perforce label (with selective changes), you can specify this label here. For instance, this can be useful to produce a milestone/release build, or a reproduce build. If the field is left blank, the latest changelist will be used for sync.
Select the character set used on the client computer.
Support UTF-16 encoding
Enable this option if you have
You may want to enable this option if you use server-side checkout and have files of the
If you store
For a changelist which was checked in with one or several associated jobs, TeamCity shows a wrench icon which allows you to view details of the jobs when clicked or hovered over.
All Perforce plugin operations are logged into teamcity-vcs.log files with category jetbrains.buildServer.VCS.P4 (on an agent or on a server, depending on the operation context). The detailed logging can be enabled with debug-vcs preset.
Please refer to a separate page.
Please refer to a separate page.
Administrator's Guide: VCS Checkout Mode