The Microsoft TFS SCM plug-in imports version artifacts from a Team Foundation Server (TFS) server. TFS is supported both as a source of builds with the TFS plug-in, and by direct retrieval of deployable artifacts from source control.
Note: Microsoft .NET Framework 3.5 must be installed on the agent computer where the plug-in is installed. If Microsoft .NET Framework 3.5 is not installed on the agent computer, the following error message is displayed when you attempt to import version artifacts: Error Creating New Version: Error retrieving latest build
Compatibility:
This plug-in supports Visual Studio Online.
This plug-in supports Team Foundation Server 2010 – 2017.
The Microsoft TFS SCM (Team Foundation Server) source configuration plug-in automates importing version artifacts from a Team Foundation Server.
Step palette
To access this plug-in in the palette, click Source and Repositories > Team Foundation Server SCM.
Compatibility
The HCL Launch source configuration plug-in for Microsoft Team Foundation Server SCM works with Team Foundation Server, Team Explorer Everywhere, and Visual Studio Online. This plug-in supports Team Foundation Server 2010, 2012, 2013, 2015, and 2017.
This plug-in requires version 7.1.0 or later of HCL Launch.
This plug-in supports agents that are running on Microsoft Windows.
Installation
Microsoft .NET Framework 3.5 must be installed on the agent computer where the plug-in is installed.
Add support for setting isFinished flag flag when importing versions.
Version 8
A regression where the user who requested a manual version import was not being tracked.
Version 7
Workspace and Workspace Local Folder are now optional fields. This allows for a clean directory on each import. If these properties are left empty, a new temporary workspace will be created with its mapped folder in the agents working directory. The temporary workspace and folder are removed after completion.
Version 6
Added short output logging.
Updated plugin.xml descriptions and ordering.
The tf Path property can be empty if supplied on the PATH environment variable.
Version 5
Support property file encryption.
Version 4
The plug-in now checks the agent settings for acceptance of self-signed certificates.
Version 3
Support for Team Foundation Server 2015, Team Explorer Everywhere, and Visual Studio Online.
Version 2
Fixes running a process after creating a version.
The path to the executable was incorrect unless the user appended tf.exe to the end of the path.
Version 1
Initial release of the TFS source configuration plug-in.
Troubleshooting
Unable to delete temporary workspace
The server does not have the privileges that are required to delete the local temp file. This error message does not affect the standard operation of the plug-in.
Error Creating New Version: TFS Map Workspace Error: An argument error occurred: The workspace name <workspace_name> matches more than one cached workspace. Try adding the workspace owner to the workspace spec to match a specific workspace.
This error can occur if you switch users or if you create more than one workspace with the same name under your agent user account. If you switched users and see this error message, run the command tf workspaces /remove:* to clear the cache. If you created more than one workspace with the same name, delete the redundant workspace and then clear the cache.
Error Creating New Version: Error retrieving latest build.
Install Microsoft .NET Framework 3.5 on the agent computer where the plug-in is installed.
Properties for the TFS_SCMComponentProperties role
Name
Type
Description
Collection URL
String
The URL of the Team Foundation Server (TFS) or Visual Studio Online (VSO) collection, for example: https://{username}.visualstudio.com/DefaultCollection.
Extensions of files to convert
String
If text-type files must be converted into another character set, type the list of file extensions to be converted. Matching file types are converted into the default or system character set of the system where the agent is located. Separate list items with commas.
Local Workspace Folder
String
The path to the local workspace folder of the computer with the agent. If the folder does not exist, it is created to the specified path. This value is only used if the Workspace property is specified. Otherwise, a temporary folder will be created in the agents working directory.
Password
Password
The password for the account that has access to the Team Foundation Server or Visual
Studio Online repository.
Path to tf.exe or tf.cmd
String
The full path to the tf.exe or tf.cmd file that comes with Visual Studio or Team Explorer
Everywhere. If a value is not specified, the tf executable file must be available
on the agent PATH statement.
Preserve execute permissions
Boolean
For Linux and UNIX operating systems, retain the execute permissions for each file.
Server Project Folder
String
The path variable to the project folder on Visual Studio Online or the Team Foundation Server server. By default, this variable is $/ followed by the name of the
project.
User
String
The user name for the account that has access to the Team Foundation Server or Visual Studio Online repository.
Workspace
String
The name of the Team Foundation Server or Visual Studio Online workspace. To get a list of workspace names from the server, run the following command: TF workspaces /server:Repository_URL /login:user,password. For Visual Studio Online, alternate authentication credentials must be enabled.
TFS_SCMImportProperties
Properties for the TFS_SCMImportProperties role
Name
Type
Description
Changeset
String
Optional: The version integer of the Team Foundation Server changeset to load.
Label
String
Optional: The name of the version label to load.
Usage
Summary
The Microsoft TFS SCM (Team Foundation Server) source configuration plug-in can be used to import artifacts from a TFS projects repository. This plug-in will retrieve artifacts from Team Foundation Version Control (TFVC), not compiled code or built .zip files from a TFS build process. Visual Studio Online and all TFS versions up to 2017 to are supported by the TFS SCM v6 plug-in. The plug-in requires the agent to have access to the tf tool. More information about this tool is documented below.
Details for using the plug-in are located in the Creating components from Microsoft Team Foundation Server SCM topic. When creating the component, you supply information described in the Import Version step. After the component is created use the Components page in the user interface to import a version of the artifacts if automatic import was not selected.
Requirements
tf Tool Executable
The agent must have access to the tf.exe or tf.cmd executable. This file is critical for retrieving all artifacts from TFS. It must either be located on the PATH environment variable or supplied via a direct path in the plug-ins configuration. The tf executable is located in the install directory of Visual Studio or Team Explorer Everywhere. The tf tool is not located in the TFS install directory. Full documentation for the tf command line interface.
Visual Studio Online Connection
Visual Studio Online, which is an SaaS offering of Team Foundation Server, requires enabling the alternate authentication credentials option. To learn how to enable alternate authentication credentials, login to VSO and navigate to your Settings page. Under the sidebar to the left, there will be an Alternate authentication credentials. Enable and create new alternate authentication credentials. These credentials should then be supplied in the plug-ins configuration. Because these credentials will likely be used by many deployments, we recommend creating a functional VSO account that is used for these types of automated process. The below screenshot shows where to create alternate authentication credentials.
Configuration
The TFS SCM plug-in contains four required properties that support the default use case of an unsecured or local TFS server with the tf tool available on the PATH environment variable. By default, the most recent changeset will be imported.
Required Properties
Collection URL: The URL of the TFS or VSO team project collection (Example: https://{username}.visualstudio.com/DefaultCollection). The desired project artifacts will be located underneath this collection. This URL is a subset of the projects URL.
Server Project Folder: The variable assigned to the project folder on your VSO or the TFS server. By default, this value begins with $/ and is followed by the name of the project.
Workspace: The name of the local TFS or VSO workspace. This value can be identified in Visual Studios Team Explorer side bar. All possible Workspaces can be found under the Solution section.
Local Workspace Folder: The full path to the local Workspace folder. This folder contains local code resolved by Visual Studio. The easiest way to identify the workspace is by clicking the Open link in the Team Explorer side bar. This will bring you directly to the workspace folder.
Default Location: C:\Users\\Source\Workspaces\Workspace
Note: You may also notice the Collection URL can be identified from Visual Studio as well.
Optional Properties
Username: The Username to authenticate with TFS or VSO.
Password: The Password to authenticate with TFS or VSO.
The Username and Password properties are not required if the agent is installed on the TFS server. Follow the alternate authentication credentials if using VSO.
tf.exe or tf.cmd Path: The canonical path to the tf.exe or tf.cmd file. This file is located in the Visual Studio installation directory and the path is not standardized between Visual Studio versions. Example for Visual Studio 2017: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe
If this property is empty, the plug-in will try to reach the tf command via the environment PATH variable. If not set, this will appear as a Error Creating New Version: Cannot run program "tf": CreateProcess error=2, The system cannot find the file specified error.
Manual Import Properties
By default, the TFS_SCM plug-in will import the latest changeset. If the import is initiated manually, you can import specific changesets. If a label value is given, the plug-in will ignore the changeset
Label: The label assigned to a past changeset.
Changeset: The number assigned to a past changeset.
Sample Plug-in Configuration
Create a New Component
To create a component by importing from Microsoft Team Foundation Server SCM, complete the following steps. For more information, see Creating components.
On the Components page in HCL Launch, click Create New Component.
In the Source Config Type list, select TFS_SCM.
Provide all of the necessary information, such as the Collection URL and the Path to TF.exe or TF.cmd.