2008-10-10 12 views
11

Usamos mucho de python para hacer gran parte de nuestra implementación y sería útil para conectarnos a nuestro servidor TFS para obtener información sobre rutas de iteración, tickets, etc. Puedo ver el servicio web pero no puedo encontrar ninguna documentación . ¿Me preguntaba si alguien sabía algo?TFS Webservice Documentation

Respuesta

13

Microsoft no documenta los servicios web, ya que no es una ruta oficialmente compatible para hablar con TFS. La ruta oficialmente admitida es usar su .NET API.

En el caso de su tipo de aplicación, el curso de acción que generalmente recomiendo es crear su propio shim del servicio web que vive en el servidor TFS (u otro servidor) y usa su API para comunicarse con el servidor pero permite a presentar los datos de una manera agradable a su aplicación.

Su modelo de objeto simplifica mucho las interacciones (dependiendo de lo que desee hacer) y por lo tanto significa menos código en general, pero un código mejor probado y comprobable y también puede trabajar con cosas como NTLM auth utilizado por los servicios web TFS.

Espero que ayude,

Martin.

+0

Acabo de publicar la pregunta a continuación, pero pensé que agregaría un comentario aquí en caso de que Martin Woodward se conecte cuando se agrega un comentario ... Me imagino que probablemente sabe la respuesta. http://stackoverflow.com/questions/3682140/are-tfs-2010-a-k-a-microsoft-alm-2010-web-services-exposed-documented –

+0

¡Gracias! Acabo de agregar un comentario para decir que estoy de acuerdo con Jeff. Los servicios web de elementos de trabajo serían mucho más trabajo de lo que podría pensar para hacer lo que el interlocutor quería hacer (sincronizar los elementos de trabajo entre TFS y otro sistema). El proyecto de la plataforma de integración TFS en CodePlex es definitivamente el camino a seguir, ya que se basa en el modelo de objetos de elementos de trabajo TFS y le ofrece una interfaz mucho más agradable para hacer exactamente lo que quiere hacer. –

1

Por lo tanto, esta pregunta es friggin 'viejo, pero déjame darle un golpe (ya que sigue apareciendo en mis búsquedas de Google).

No existe una API compatible para el TFS local (el host alojado en MSFT tiene http://www.visualstudio.com/en-us/integrate/api/overview).

Dicho esto, siempre puede usar Fiddler (http://www.telerik.com/fiddler) o algo similar para inspeccionar las llamadas que el cliente web para TFS realiza al servidor y hacer su magia para convertirlas en las secuencias de comandos en python que desee.

Tendrá que ejecutar sus scripts de python en una cuenta de servicio que tenga los privilegios TFS apropiados para lo que está intentando hacer (leer, actualizar, confugurar ... lo que sea).

Dado que parece que usted está tratando de leer desde TFS, esto podría ser una manera muy fácil para que usted consiga lo que quiere desde un servidor HTTP llegar a http://yourserver/tfs/yourcollection/yourproject/_workitems#id=yourworkitemid va a entregar de vuelta (a medias) cuerdo cargas útiles html.

Si desea listas de iteraciones o equipos o lo que sea, entonces su cuenta de servicio tiene que tener los privilegios de administrador apropiados y golpear cosas como http://yourserver/tfs/yourcollection/yourproject/_admin/_iterations y utilizar esa respuesta.