如何使用REST API为TFS 2015 on pre instance获取服务端点列表?

时间:2016-11-09 18:11:40

标签: powershell tfs azure-devops tfs2015

我正在使用基于REST的API为TFS 2015获取服务端点列表(根据reference)。但在提取信息时遇到问题。

我们有一个TFS 2015(版本14.102.25423.0)的现场实例。下面是我试图获取服务端点列表的URL。

https://tfs-on-prem-instance/DefaultCollection/product-name/_apis/distributedtask/serviceendpoints?api-version=3.0-preview.1

错误:

在浏览器中

{"count":1,"value":{"Message":"An error has occurred."}}

在PowerShell中

  

Invoke-RestMethod:{“count”:1,“value”:{“消息”:“错误有   发生。“}}在D:\ DevOps \ TFS \ TFSServiceModule.psm1:75 char:23 + ...   $ result = Invoke-RestMethod -Method Get -Uri $ uri -Credential $ Cred   ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ +   CategoryInfo:InvalidOperation :( System.Net.HttpWebRequest:HttpW   ebRequest)[Invoke-RestMethod],WebException + FullyQualifiedErrorId:   WebCmdletWebResponseException,Microsoft.PowerShell   .Commands.InvokeRestMethodCommand

有谁能让我知道如何解决这个问题?或者请参考一些其他文档来完成。

2 个答案:

答案 0 :(得分:2)

您可以先通过Get a team project rest API获取项目的ID,然后使用项目ID通过Service Endpoints API获取服务端点。所以URL应该是这样的:

http://tfsinstance/CollectionName/**PROJECTID**/_apis/distributedtask/serviceendpoints?api-version=3.0-preview.1

答案 1 :(得分:1)

我已经使用TFS 2015 Update 3(14.102.25423.0)进行了测试,但在运行下面的api时也出现错误:

Get http://tfsserver:8080/tfs/CollectionName/TeamProjectName/_apis/distributedtask/serviceendpoints?api-version=3.0-preview.1

此API适用于VSTS和TFS 15 RC 2,但不适用于TFS 2015.3。我已在下面的网站上提交了反馈,您可以投票:

https://connect.microsoft.com/VisualStudio/feedback/details/3111161