如何使用TFS PowerShell获取变更集和相关工作项的列表?

时间:2010-12-15 17:50:52

标签: powershell tfs tfs2008

我是PowerShell和TFS cmdlet的新手,我正在尝试检索区域路径中的变更集列表及其关联的工作项。

自某个日期以来我已经列出了变更集:

Get-TfsItemHistory "$/Project/Branch" -Version “D01/12/10~” -Recurse 

并在同一日期列出工作项:

Get-TfsItemHistory "$/Project/Branch" -Version "D01/12/10~" -Recurse | %{ $_.workitems }

每个查询返回相同数量的结果,第二个查询返回重复的工作项。这似乎很有希望,因为工作项目有很多变化,所以我认为我结合起来并不遥远。

2 个答案:

答案 0 :(得分:12)

是的,你走在正确的轨道上。尝试使用此方法来查看与变更集关联的工作项:

Get-TfsItemHistory "$/Project/Branch" -Version "D01/12/10~" -Recurse | 
    Select ChangesetId -exp WorkItems | 
    Format-Table Id,Title -GroupBy ChangesetId -Auto

答案 1 :(得分:2)

使用Microsoft.TeamFoundation.Client查看https://stackoverflow.com/a/30047077/4051367

用法

  

$ versionControlServer.QueryHistory

$vCSChangeSets = $versionControlServer.QueryHistory($locationToSearch, $latest, 0, $recursionType, $userName, $versionFrom, $versionTo, [int32]::MaxValue, $true ,$false, $false, $true) 
$TargetChangeSetChangeItems = @()  


$TargetChangeSetChangeItems = foreach ($vCSChangeSet in $vCSChangeSets) 
{   
    foreach ($vCSChange in $vCSChangeSet.Changes) 
    { 
        $vCSItem =  $vCSChange.Item 

        # MORE CODE HERE, OMMITTED
    }
}