TFS Web服务文档

11 投票
2 回答
6461 浏览
提问于 2025-04-11 09:28

我们在部署过程中使用了很多Python,想要连接到我们的TFS服务器,以获取一些关于迭代路径、工单等的信息。我能看到这个网络服务,但找不到任何文档。想问问有没有人知道相关的信息?

2 个回答

1

这个问题虽然很老了,但我还是想试试回答它,因为我在谷歌搜索时经常看到。

首先,关于本地的TFS(微软托管的那个有官方支持的API,链接在这里:http://www.visualstudio.com/en-us/integrate/api/overview),本地的TFS没有官方支持的API。

不过,你可以使用Fiddler(链接在这里:http://www.telerik.com/fiddler)或者类似的工具,来查看TFS的网页客户端是如何与服务器进行通信的,然后你可以把这些信息转化成你想要的Python脚本。

你需要在一个有TFS权限的服务账户下运行你的Python脚本,这样才能进行读取、更新、配置等操作。

听起来你只是想从TFS读取数据,这样做可能是个很简单的方法,因为你只需要发送一个HTTP GET请求到 http://yourserver/tfs/yourcollection/yourproject/_workitems#id=yourworkitemid 就能得到(大致)正常的HTML内容。

如果你想获取迭代、团队或其他信息,那么你的服务账户需要有相应的管理员权限,并且要访问像 http://yourserver/tfs/yourcollection/yourproject/_admin/_iterations 这样的链接,并使用返回的数据。

13

微软并没有对这些网络服务进行文档说明,因为这不是一个官方支持的与TFS(团队基础服务器)沟通的方式。官方推荐的方式是使用他们的.NET API

对于你这种类型的应用,我通常建议的做法是创建一个自己的网络服务“垫片”,这个垫片可以放在TFS服务器上(或者其他服务器上),它使用他们的API与服务器沟通,但可以让你以更友好的方式展示数据给你的应用。

他们的对象模型大大简化了交互(具体取决于你想做什么),这实际上意味着整体代码会更少——但代码会更好测试,也更容易测试,同时你还可以绕过TFS网络服务使用的NTLM认证问题。

希望这能帮到你,

马丁。

撰写回答