使用 TFPT PowerShell 查询多个工作项
Querying for multiple work items using TFPT PowerShell
我正在尝试查询 TFS 以获取链接到使用 PowerShell 的一组工作项的更改集。到目前为止,我已经能够使用以下命令对单个工作项执行此操作:
tfpt workitem 928850 /collection:<collection url>
但是,我希望能够同时传入多个工作项ID。有谁知道这个命令是否可行?
我尝试使用查询和 TFPT 查询命令提取多个工作项,但是使用此命令时似乎无法提取链接的更改集。
如果您有一个本地实例,并且可以针对它使用 PowerShell,那么您应该已经准备就绪。您将需要加载 TeamFoundation 管理单元,并加载应该在 Visual Studio 安装路径 'Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer' 中找到的一对 DLL。所以,如果你有这些项目,你可以这样做:
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
[System.Reflection.Assembly]::LoadFrom((Resolve-Path 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Client.dll').Path)
[System.Reflection.Assembly]::LoadFrom((Resolve-Path 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.WorkItemTracking.Client.dll').Path)
$TFS = Get-TfsServer <your TFS URL, something like 'http://MyTFSServer:8080/tfs/MyTeam'>
$WIS = $TFS.GetService([Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore])
连接到 WorkItemStore 后,您可以post 对其进行查询。这基本上是为 TFS 存储所有工作项的数据库。
$QueryText = "SELECT * FROM WorkItems WHERE [ID] = '928850' OR [ID] = '928851'"
$WorkItems = $WIS.Query($QueryText)
希望对您有所帮助。
我正在尝试查询 TFS 以获取链接到使用 PowerShell 的一组工作项的更改集。到目前为止,我已经能够使用以下命令对单个工作项执行此操作:
tfpt workitem 928850 /collection:<collection url>
但是,我希望能够同时传入多个工作项ID。有谁知道这个命令是否可行?
我尝试使用查询和 TFPT 查询命令提取多个工作项,但是使用此命令时似乎无法提取链接的更改集。
如果您有一个本地实例,并且可以针对它使用 PowerShell,那么您应该已经准备就绪。您将需要加载 TeamFoundation 管理单元,并加载应该在 Visual Studio 安装路径 'Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer' 中找到的一对 DLL。所以,如果你有这些项目,你可以这样做:
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
[System.Reflection.Assembly]::LoadFrom((Resolve-Path 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Client.dll').Path)
[System.Reflection.Assembly]::LoadFrom((Resolve-Path 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.WorkItemTracking.Client.dll').Path)
$TFS = Get-TfsServer <your TFS URL, something like 'http://MyTFSServer:8080/tfs/MyTeam'>
$WIS = $TFS.GetService([Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore])
连接到 WorkItemStore 后,您可以post 对其进行查询。这基本上是为 TFS 存储所有工作项的数据库。
$QueryText = "SELECT * FROM WorkItems WHERE [ID] = '928850' OR [ID] = '928851'"
$WorkItems = $WIS.Query($QueryText)
希望对您有所帮助。