Как использовать TFS PowerShell для получения списка наборов изменений и связанных рабочих элементов?

Я новичок с командлетами PowerShell и TFS, и я пытаюсь получить список наборов изменений в пути области и связанных с ними рабочих элементов.

у меня есть список наборов изменений с определенной даты:

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

а также список workitems с той же даты:

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

каждый запрос возвращает одинаковое количество результатов, а второй запрос возвращает дубликаты workitems. Это кажется многообещающим, так как есть много наборов изменений workitems, поэтому я предполагаю, что я не далек от объединения результатов.

2 ответов


Да, вы на правильном пути. Попробуйте это как способ просмотра workitems, связанных с набором изменений:

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

используя 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
    }
}