Summary
This plugin integrates Microsoft Team Foundation Server source control to Hudson.
With this plugin you can use a workspace that will create a work folder in the Hudson workspace. At the moment, this plugin supports:
- Retrieving read-only copies of files and folders from a Team Foundation Server.
- Polling a Team Foundation Server to automatically start builds when there are changes.
- Links from the Hudson change sets to Team Server Web Access. (Also known as a repository browser)
The workspace will automatically create a workspace on the Team Foundation Server and map a work folder (in the Hudson workspace) to it.
Configuration
System configuration
- Open the system configuration page "Manage Hudson->Configure system"
- Enter the path to the TF command line client, that should be used by Hudson
Job configuration

| Server URL |
The URL to the Team Foundation Server. Example: https://tfs02.codeplex.com |
| Project path |
The project and path to retrieve from the server. The project path must start with $/, and contain any sub path that exists in the project repository. Example: $/project/trunk/src. |
| User name |
The user name to use when connecting to the server. The user name must contain the domain and user name. The user name must be formatted either as domain\username or username@domain. |
| Password |
The user password. |
| Use update |
If this option is checked, then the workspace and work folder will not be removed at the end of build. This makes the build faster, but artifacts remain between builds. If it is not checked, the plugin will create a workspace and map it to a local folder at the start of the build, and then delete the workspace at the end of the build. |
| Local work folder |
The name of the local work folder. The specified folder will contain the files retrieved from the repository. Default is ., ie the files will be downloaded into the Hudson workspace folder. |
| Workspace name |
The name of the workspace that Hudson should use when creating and deleting workspaces on the server. The workspace name supports three macros; ${JOB_NAME} is replaced by the job name, ${USER_NAME} is replaced by the user name Hudson is running as and ${NODE_NAME} is replaced by the name of the node. Default workspace name is Hudson-${JOB_NAME}. |
| Repository browser |
If the Team Foundation Server has any web access to the files, this can be configured here. By adding a repository browser, the plugin will create links in the Changes page to the repository browser. Currently the plugin supports Team System Web Access. |
Build environment variable
- TFS_WORKSPACE - The name of the workspace.
- TFS_WORKFOLDER - The full path to the working folder.
Requirements
The plugin requires that one of the below command line tools is installed on the master and slave machines.
Microsoft TF CCL
The Visual Studio Team System 2008 Team Explorer is a free tool to access Team Foundation Servers. The TF.exe tool is installed into the Visual Studio folder that may be located at c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.exe
Teamprise TF CCL
The Teamprise Command-Line Client can be used on most platforms that support java.
opentf
opentf is an open source implementation of the TF executable, that can be used on platforms that support mono.
Current limitations
Because of issue 9 it is not possible to use the "Use update" feature. The workspace has to be created and removed in each build, which unfortunately makes checking out code a lot slower.
Because of issue 7 is it not possible to get a list of changes for a build.
FAQ
How should I set up the plugin for my CodePlex project?
- Find out the TFS server for your project, which is displayed in the source code page for your project at codeplex.com.
- The user name must be suffixed with _cp and the domain is snd. If your user name is redsolo, then enter "snd\redsolo_cp" as the user name in the plugin configuration.
- Note that the user must be a member of the project to be able to create a workspace on the Team foundation server.
Thats all you need to start retrieving files from your project at codeplex.com.
Plugin version information
Road map
1.x
Change log
Upcoming version
- Fixed a problem with interfacing with the tf tool on linux (issue #2241)
- Fixed a problem with name casing in a resource folder (issue #2229)
- Fixed a problem with workspace names containing a space (issue #2264)
- Fixed a problem if the workspace already existed on another computer it was deleted at the end of the checkout (issue #2268)
- Added the macro ${NODE_NAME} that can be used in a workspace name
- Added very basic support for the opentf client (issue #2277)
- Fixed so the workspace name and work folder path are available as build environmental variables (issue #2266)
- Fixed so the build is not failed if the TF tool returns a exit code for partial success (exit code=1)
- Fixed so invalid characters in the workspace name are replaced with _
1.3
- Improved support for Team System Web Access; added links to file content and diffs to previous version.
1.2
- Added support for Team System Web Access repository browser. Now the Changes page has links to TSWA.
- Fixed a bug where the work folder was not cleaned between builds if the job is not using the update feature.
1.1
- Quick release for supporting older Hudsons than 1.234
1.0
- Initial version supporting Microsoft and Teamprise command line clients.