Как отформатировать поле рабочего элемента TFS AssignedTo с помощью PowerShell
Я использую TFS 2012 Power Tools и PowerShell для отображения рабочих элементов, содержащих наборы изменений, которые изменили исходные файлы ниже заданного каталога в течение последних 120 дней. С большим количеством хорошей помощи от StackOverflow я нахожу рабочие элементы и отображаю их следующим образом:
PS> $items = Get-TfsItemHistory $/Somewhere -R -All -Version "D$((Get-Date).AddDays(-120).ToString('d'))~" | select ChangesetId -ExpandProperty WorkItems | Sort-Object -Unique Id
PS> $items | format-table
Это выглядит довольно хорошо, например, вот начало вывода:
Id State AssignedTo AreaPath Title
-- ----- ---------- -------- -----
32604 Closed Harald Han... ClientDomainNav Change to new address space
Однако, если я попытаюсь показать только подмножество полей, я не смогу получить поле AssignedTo для отображения. Это ОК:
PS> $items | format-table AreaPath, State
AreaPath State
-------- -----
KCS-ClientDomainNav Closed
Но это не так:
PS > $items | format-table AssignedTo, State
AssignedTo State
---------- -----
Closed
Я, должно быть, пропустил что-то тривиальное, но (как относительный новичок в PowerShell и TFS PowerTools) я не вижу, что это такое. Кто-нибудь может помочь?
1 ответ:
Свойство '
AssignedTo' являетсяscriptproperty, вычисляемым во время выполнения из файла пользовательского формата powershellMicrosoft.TeamFoundation.PowerTools.PowerShell.format.ps1xml.Значение берется из:
$_.Fields[[Microsoft.TeamFoundation.WorkItemTracking.Client.CoreField]::AssignedTo].ValueТогда я думаю (я не могу протестировать его, потому что у меня нет источника TF-сервера ), что вам нужно сделать:
$items | format-table @{n="AssignedTo";e={$_.Fields[[Microsoft.TeamFoundation.WorkItemTracking.Client.CoreField]::AssignedTo].Value}} , State
Comments