Запуск TeamCity Build через вызов REST

Немного фона.

В моей среде мы имеем множество небольших .NET-решений каждый в своих собственных хранилищах Subversion (500+). Мы не являемся магазином TFS и в настоящее время оцениваем перемещение нашего начального процесса CI в TeamCity.

Вместо того, чтобы эти 500+ репозиториев опросили наш сервер Subversion каждые 5-10 минут или около того, я хотел бы начать сборку проекта через HTTP-вызов REST-post-hook-hook (как это делает наше текущее решение). Затем я хотел бы, чтобы TeamCity обновлялся из SVN и начинал процесс сборки. Возможно ли это?

Я вижу, что TeamCity имеет REST API, только что документация разрежена. Я не уверен, как этот пример привязан ко всему, что я настроил. Что такое bt7? Как это связано с проектами, которые я настроил?

http://buildserver:8111/httpAuth/action.html?add2Queue=bt7 

Ответ 1

bt7 - ваш buildTypeId, который является уникальным идентификатором для каждой конфигурации сборки (задания). Каждый проект может иметь множество конфигураций сборки.

Если вы нажмете на проект, а затем щелкните по определенной конфигурации сборки, ваш URL-адрес будет...

http://teacmtiyserver/viewType.html?buildTypeId=bt208

Если вы хотите поставить в очередь конфигурацию сборки для запуска, просто узнайте ее buildTypeId, посмотрев URL-адрес, а затем вы можете попробовать запустить его, нажав URL-адрес, который вы использовали.

Ответ 2

bt7 - это идентификатор типа сборки. Каждая конфигурация сборки имеет один. Вы можете получить полный список, используя остальные api, как показано ниже.

http://buildserver:8111/httpAuth/app/rest/buildTypes

Вы также можете увидеть тип сборки в URL-адресе, если вы нажмете любую конфигурацию сборки на странице своей команды. Вы увидите параметр url, такой как buildTypeId = bt7