Запуск 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