Есть ли в TFS 2010 веб-сервисы, которые можно использовать для запроса регистрации, рабочих элементов и т. Д.? - PullRequest
9 голосов
/ 03 февраля 2012

Я выяснил, что TFS 2010 имеет следующую конечную точку веб-службы

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

Есть ли какие-то, чтобы получить поток проверок, работапредметы и другие предметы TFS?

Ответы [ 2 ]

19 голосов
/ 03 февраля 2012

Обновление : да!Visual Studio Online представила новый REST API , и локальные установки TFS 2013 имеют доступ к этому новому API.

В версиях TFS до TFS 2013:

tl; dr: Вы никоим образом не захотите потреблять.

Team Foundation Server предоставляет веб-службы SOAP, которые клиенты используют для связи с ним.Однако это не то, что публично документировано, это не поддерживается Microsoft (то есть они могут и будут менять версию на версию), и, откровенно говоря, удивительно маловероятно, что требуемые усилия окупятся.

Хотя веб-службы хорошо спроектированы, для некоторых веб-служб требуется значительный объем клиентского состояния.Это особенно верно для веб-сервисов отслеживания рабочих элементов.Клиенты в основном содержат целый «механизм правил» для обработки и проверки изменений в любых полях.Клиент должен, в основном, уметь понимать шаблон процесса и обрабатывать все эти изменения состояния перед отправкой обновленного рабочего элемента обратно на сервер.Сервер также запустит правила и проверит, что клиент внес только правовые изменения.

Механизм правил не доступен публично.Вам придется выполнить обратный инжиниринг.

Это также делает некоторые базовые предположения о том, что ваш стек веб-сервисов может правильно говорить на NTLM2 и Kerberos (большинство не может, вне стека веб-сервисов .NET, хотя некоторыеподдерживать NTLM версии 1 до некоторой степени, что создаст у вас иллюзию того, что вы должны проходить проверку подлинности.)

Поэтому настоятельно предлагает использовать только один из API-интерфейсов Microsoft для доступа к TFS,либо .NET, либо Java SDK.

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

5 голосов
/ 04 февраля 2012

Как и упоминал Эдвард, веб-сервисы TFS не предназначены для общественного потребления.

С другой стороны, вы можете попробовать «Службу OData для Team Foundation Server».

Он предлагает действительно хороший REST-подобный интерфейс - поэтому вызывается просто путем отправки HTTP-запросов, точно так же, как вы были готовы делать с веб-сервисами.

Чтобы узнать больше, проверьте это сообщение в блоге: http://blogs.msdn.com/b/briankel/archive/2011/10/26/odata-service-for-team-foundation-server-2010-v1.aspx

...