11

我们使用大量 python 来完成大部分部署,并且可以方便地连接到我们的 TFS 服务器以获取有关迭代路径、票证等的信息。我可以看到 web 服务,但找不到任何文档。只是想知道是否有人知道任何事情?

4

2 回答 2

13

Microsoft 没有记录 Web 服务,因为它不是官方支持的与 TFS 对话的途径。官方支持的路线是使用他们的.NET API

对于您的应用程序,我通常推荐的做法是创建您自己的 Web 服务 shim,它位于 TFS 服务器(或其他服务器)上,并使用它们的 API 与服务器通信,但允许您呈现数据以一种很好的方式添加到您的应用程序。

他们的对象模型极大地简化了交互(取决于您想要做什么),因此它实际上意味着总体上更少的代码 - 但更好的测试和可测试代码,您还可以解决诸如 NTLM auth 使用的事情TFS 网络服务。

希望有帮助,

马丁。

于 2008-10-10T19:43:39.717 回答
1

所以,这个问题太老了,但让我来看看它(因为它不断出现在我的谷歌搜索中)。

本地 TFS 没有官方支持的 API(MSFT 托管的 API 有http://www.visualstudio.com/en-us/integrate/api/overview)。

也就是说,您始终可以使用 Fiddler ( http://www.telerik.com/fiddler ) 或类似的东西来检查 TFS 的 Web 客户端对服务器进行的调用,并施展魔法将这些调用转换为脚本在你想要的python中。

您需要在一个服务帐户下运行您的 python 脚本,该服务帐户的 TFS privs 适合于它正在尝试执行的操作(读取、更新、配置......无论如何)。

由于听起来您只是想从 TFS 中读取数据,因此这可能是您获得所需内容的一种非常简单的方法,因为 HTTP 访问 http://yourserver/tfs/yourcollection/yourproject/_workitems#id=yourworkitemid 将把你还给(中途)理智的 html 有效载荷。

如果您想要迭代或团队或其他列表,那么您的服务帐户需要具有适当的管理员权限并点击 http://yourserver/tfs/yourcollection/yourproject/_admin/_iterations 之类的内容 并使用该响应。

于 2015-02-20T23:32:38.197 回答