Документация TFS Webservice

Мы используем много python, чтобы выполнить большую часть нашего развертывания, и было бы удобно подключиться к нашему серверу TFS для получения информации об итерационных путях, билетах и ​​т.д. Я могу видеть веб-сервис, но не могу найти какую-либо документацию. Просто интересно, знал ли кто-нибудь о чем-нибудь?

Ответ 1

Веб-службы не документируются Microsoft, поскольку это не официально поддерживаемый маршрут для общения с TFS. Официально поддерживаемый маршрут - использовать .NET API.

В случае вашего вида приложения рекомендуемый мной курс действий - это создать свой собственный веб-сервис, который живет на сервере TFS (или другом сервере), и использует свой API для общения с сервером, но позволяет вам представить данные в хорошем виде для вашего приложения.

Их объектная модель значительно упрощает взаимодействие (в зависимости от того, что вы хотите делать), и поэтому на самом деле это означает, что для всего кода не все, но лучше проверенный и проверяемый код, а также вы можете обойти такие вещи, как NTLM auth используемый веб-службами TFS.

Надеюсь, что это поможет,

Martin.

Ответ 2

Итак, этот вопрос устарел, но позвольте мне взломать его (поскольку он продолжает появляться в моих поисковых системах Google).

Нет официального API, поддерживающего поддержку для встроенной TFS (в MSFT, состоящей из http://www.visualstudio.com/en-us/integrate/api/overview).

Тем не менее, вы всегда можете использовать Fiddler (http://www.telerik.com/fiddler) или что-то вроде этого, чтобы проверять вызовы, которые веб-клиент для TFS сделать на сервер и сделать свою магию, чтобы превратить их в скрипты в python, которые вы хотите.

Вам нужно будет запустить скрипты python под учетной записью службы, у которой есть привилегии TFS, соответствующие тому, что она пытается сделать (читать, обновлять, конфузировать... что угодно).

Так как это звучит так, как будто вы просто пытаетесь читать из TFS, это может быть очень простой способ получить то, что вы хотите, с тех пор как HTTP добирается до http://yourserver/tfs/yourcollection/yourproject/_workitems#id=yourworkitemid вернет вам (полпути) полезные данные html.

Если вам нужны списки итераций или команд или что-то еще, то ваша учетная запись службы должна обладать соответствующими правами администратора и ударять http://yourserver/tfs/yourcollection/yourproject/_admin/_iterations и использовать этот ответ.