TFS 2010 是否具有可用于查询签入、工作项等的 Web 服务? [英] Does TFS 2010 have web services one can use to query check-ins, work items, etc?

查看:24
本文介绍了TFS 2010 是否具有可用于查询签入、工作项等的 Web 服务?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现 TFS 2010 具有以下 Web 服务端点

I have figured out that TFS 2010 has the following web service endpoint

http://tfsservername:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx

是否可以获取签到、工作项和其他 TFS 项的提要?

Are there ones to get a feed of check-ins, work items and other TFS items?

推荐答案

更新:是的!Visual Studio 在线 引入了一个新的 REST API,并且 TFS 2013 的本地安装可以访问这个新的 API.

Update: yes! Visual Studio Online introduced a new REST API, and on-premises installations of TFS 2013 have access to this new API.

在 TFS 2013 之前的 TFS 版本中:

In versions of TFS prior to TFS 2013:

tl;dr:无论如何你都不想消费.

Team Foundation Server 确实公开了客户端用来与之对话的 SOAP Web 服务.但是,这不是公开记录的内容,它不受 Microsoft 支持(这意味着他们可以并且将会将版本更改为版本),而且坦率地说,所需的努力不太可能值得结果.

Team Foundation Server does expose SOAP web services that the clients use to talk to it. However, it's not something that is publicly documented, it's not supported by Microsoft (meaning they can, and will, change version to version) and, quite frankly, it's remarkably unlikely that the effort required will be worth the result.

尽管 Web 服务设计良好,但某些 Web 服务需要大量客户端状态.工作项跟踪 Web 服务尤其如此.客户端基本上包含一个完整的规则引擎",用于处理和验证对任何字段的更改.客户端基本上必须能够理解流程模板并在将更新的工作项提交回服务器之前处理所有这些状态更改.服务器将运行规则并验证客户端所做的更改是否合法.

Although the web services are well designed, some of the web services require a significant amount of client state. This is particularly true of the work item tracking web services. The clients basically contain an entire "rules engine" for processing and verifying changes to any fields. The client must, basically, be able to understand the process template and process all these state changes before submitting an updated work item back to the server. The server will also run the rules and verify that the client made only legal changes.

规则引擎不会公开.您必须对其进行逆向工程.

The rules engine is not exposed publicly. You would have to reverse engineer it.

这也做出了一些基本假设,例如您的 Web 服务堆栈可以成功地正确地使用 NTLM2 和 Kerberos(大多数不能,在 .NET Web 服务堆栈之外,尽管有些在某种程度上支持 NTLM 版本 1,这只会给您一种您应该进行身份验证的错觉.)

This also makes some underlying assumptions like your web services stack can successfully speak NTLM2 and Kerberos properly (most can't, outside of the .NET web services stack, although some an support NTLM version 1 to some degree, which will only give you the illusion that you should be authenticating.)

因此强烈建议您只使用 Microsoft 的 API 之一来访问 TFS,无论是 .NET 还是 Java SDK.

It's therefore strongly suggested that you just use one of Microsoft's APIs for accessing TFS, either the .NET or the Java SDK.

(实际上,我在一家第三方公司工作,该公司通过与 Web 服务对话成功地为 TFS 编写了 Java 前端.这对我们来说是一个公平的挑战——尤其是工作项实现——这就是我们几个人的全职工作.我不建议将其作为副业.)

(I actually worked for a third-party company that successfully wrote a Java front-end to TFS by talking to the web services. It was a fair challenge for us -- especially the work item implementation -- and this was the full-time job for several of us. I wouldn't recommend it as a side project.)

这篇关于TFS 2010 是否具有可用于查询签入、工作项等的 Web 服务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆