我是PowerShell和TFS cmdlet的新手,我正在尝试检索区域路径中的变更集列表及其关联的工作项。
自某个日期以来我已经列出了变更集:
Get-TfsItemHistory "$/Project/Branch" -Version “D01/12/10~” -Recurse
并在同一日期列出工作项:
Get-TfsItemHistory "$/Project/Branch" -Version "D01/12/10~" -Recurse | %{ $_.workitems }
每个查询返回相同数量的结果,第二个查询返回重复的工作项。这似乎很有希望,因为工作项目有很多变化,所以我认为我结合起来并不遥远。
答案 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
}
}