Api 如何使用Powershell在TFS(网站)上编辑查询?

Api 如何使用Powershell在TFS(网站)上编辑查询?,api,powershell,tfs,tfs-power-tools,Api,Powershell,Tfs,Tfs Power Tools,我正在尝试使用Powershell自动化一些流程。其中之一是,无论何时进行分支,我们都必须在搜索用户故事的TFS站点上手动udpate当前发布查询,以便在搜索参数中具有正确的发布版本。下面的示例屏幕截图 在这里,我将使用TFS访问查询,然后对其进行编辑。下面是编辑器屏幕,我将用新版本的日期替换其中的日期字段。我想要的是通过powershell作为某种TFS对象访问这些字段,我会考虑并更新它们 当我得到服务器$server=新对象Microsoft.TeamFoundation.Client.Te

我正在尝试使用Powershell自动化一些流程。其中之一是,无论何时进行分支,我们都必须在搜索用户故事的TFS站点上手动udpate当前发布查询,以便在搜索参数中具有正确的发布版本。下面的示例屏幕截图

在这里,我将使用TFS访问查询,然后对其进行编辑。下面是编辑器屏幕,我将用新版本的日期替换其中的日期字段。我想要的是通过powershell作为某种TFS对象访问这些字段,我会考虑并更新它们


当我得到服务器$server=新对象Microsoft.TeamFoundation.Client.TeamFoundationServer$tfsURI时,我一直在摆弄Powershell的TFS Power Tools,以及一些对象的东西。但是,通过谷歌fu,我搞不懂如何从Powershell编辑查询。有人能帮忙吗?

这不是对你问题的直接回答,但下面的内容可能足以让你自己开始思考。我认为您可能会使用$version\u control\u服务器


这并不是对你问题的直接回答,但下面的内容可能足以让你自己开始思考。我认为您可能会使用$version\u control\u服务器


TFS电动工具无法实现此功能。您可以使用中提到的.Net客户端库,也可以调用VSTS Rest API来执行此操作:。

TFS Power Tools无法实现此功能。您可以使用中提到的.Net客户端库,也可以调用VSTS Rest API来执行此操作:

##
# http://blog.majcica.com/2015/11/15/powershell-tips-and-tricks-retrieving-tfs-collections-and-projects/
#   this will get you a list of tfs projects hosted on a tfs server
##

# Add-Type -AssemblyName "Microsoft.TeamFoundation.Client, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Add-Type -Path 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Client.dll'

$uri = 'http://host:8080/tfs'

$tfsConfigurationServer = [Microsoft.TeamFoundation.Client.TfsConfigurationServerFactory]::GetConfigurationServer($uri)
$tpcService = $tfsConfigurationServer.GetService('Microsoft.TeamFoundation.Framework.Client.ITeamProjectCollectionService')

$sortedCollections = $tpcService.GetCollections() | Sort-Object -Property Name

#

$collection = $sortedCollections[0]

$collectionUri = $uri + '/' + $collection.Name
$tfsTeamProject = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($collectionUri)
$cssService = $tfsTeamProject.GetService('Microsoft.TeamFoundation.Server.ICommonStructureService3')   
$sortedProjects = $cssService.ListProjects() | Sort-Object -Property Name


##
# https://lajak.wordpress.com/2013/01/28/tfs-2012-api-find-all-solutions-in-source-control/
#  this will take your list of projects and get list of solution paths within those projects
##


Add-Type -Path 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.VersionControl.Client.dll'

$version_control_server = $tfsTeamProject.GetService('Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer')

$solution_items = $version_control_server.getitems(
    '$/*',
    [Microsoft.TeamFoundation.VersionControl.Client.VersionSpec]::Latest,
    [Microsoft.TeamFoundation.VersionControl.Client.RecursionType]::Full,
    [Microsoft.TeamFoundation.VersionControl.Client.DeletedState]::NonDeleted,
    [Microsoft.TeamFoundation.VersionControl.Client.ItemType]::File
)

$path_array = $solution_items.items | foreach-object { $_.serveritem }

($path_array -join "`r`n") | out-file 'C:\tfs_paths.txt'

##