View Full Version : Associate TFS work item with checkin of file
rollmj
05-20-2010, 02:29 PM
Does anyone know how to associate a work item with the checkin of a particular file using the Team Foundation action in VBP? I'm currently using v7.5 of VBP and cannot seem to figure out a way to associate work items via the command-line.
kinook
05-20-2010, 02:57 PM
http://social.msdn.microsoft.com/forums/en-US/tfsversioncontrol/thread/33830525-ede9-48ca-adcf-a8e820b4b3ba
Philip Beck
06-19-2014, 08:00 AM
The link says that you can associate the work item with the check in in two separate steps, but I don't think this will work in our situation. This is because:-
1. Performing the check in first (before doing the association) is rejected due to our check in policy. The check in hasn't been associated with a work item.
2. Performing the association first is impossible before the changeset doesn't exist yet. The changeset only exists once files have been checked in.
So as far as I can tell, until the parameters for TF CHECKIN allow for something like /workitem:<123>, the only way that it is possible is to use VBScript to use the TFS automation model or write a component that uses the TFS API. I'm not sure which is true as I'm just about to start looking...
Regards
Phil
Philip Beck
07-07-2014, 06:36 AM
I finally managed to do the association during checkin using a powershell script and reflection on the TFS object model.
Google Get-TfsCollection and then my final few lines looked like this:
$col = Get-TfsCollection("http://xxxxxxxxxxxx:8080/tfs/DefaultCollection")
$wis = Get-TfsWorkItemStore($col)
$vcs = Get-TfsVersionControlServer($col)
$wi = $wis.GetWorkItem(1234)
$ws = $vcs.GetWorkspace("C:\xxxxxxxx")
$pc = $ws.GetPendingChanges()
$wici = Get-TfsWorkItemCheckinInfo($wi)
$changeset = $ws.CheckIn($pc, "xxxxx", $null, $wici, $null)
vBulletin® v3.8.11, Copyright ©2000-2024, vBulletin Solutions Inc.