TeamCity REST API для получения списка неработающих проектов

Использование TeamCity 8.0.4 (сборка 27616)

Я использую вызов своего сервера TeamCity, чтобы получить список сломанных сборок:

http://teamcity.exactbid.net/guestAuth/app/rest/builds/?locator=status:failure,sinceBuild:(status:success)

Если проект находится в состоянии сбоя, этот вызов API возвращает count = 1 и сведения о сломанном проекте.

Проблема в том, что если у этого проекта есть запущенная в данный момент сборка, вызов API возвращает счетчик 0 и ни одного проекта в неработающем списке.

Как только сборка проекта завершена (и снова прерывается), счетчик возвращается к 1.

Так что, надеюсь, в моем запросе локатора есть что-то, что я могу изменить, чтобы получить сломанные сборки, даже если они в настоящее время строятся.

Пользовательский интерфейс TC, кажется, знает об этом, потому что все родительские проекты моего сломанного проекта отображаются красным. Просто не уверен, как это правильно сделать в запросе API.


person slolife    schedule 21.12.2013    source источник


Ответы (2)


Попробуйте добавить running:any. Возможно, running по умолчанию имеет значение false, хотя я не могу найти это в документации.

person shoover    schedule 21.12.2013

Вот как отобразить список неудачных сборок:

http://teamcity.exactbid.net/guestAuth/app/rest/builds/?locator=status:failure

Неудачные сборки — это сборки, которые уже были завершены и завершились неудачно. Я думаю, вы ищете способ показать сборки, которые выполняются и терпят неудачу:

http://teamcity.exactbid.net/guestAuth/app/rest/builds/?locator=status:error,status:running

Это ищет сборки, которые выполняются и содержат ошибки (которые приводят к сбою сборки, если это явно не указано)

Возможно, вам придется использовать два вызова REST API для получения сборок:

  1. которые закончились и потерпели неудачу
  2. которые работают и терпят неудачу
person ShaneC    schedule 11.02.2014
comment
Вы правы, указывая, что я не ищу все прошлые сломанные сборки. Может быть, мне следует перефразировать свои вопросительные слова, чтобы указать, что я хочу получить список проектов that have the last completed build that broke. Так что, если последняя завершенная сборка ProjectA сломалась, но у нее есть работающая сборка, я все равно хочу, чтобы ProjectA был в списке. Я думаю, вы правы, что мне может потребоваться два или более вызовов REST для вычисления этой информации. - person slolife; 11.02.2014
comment
Возможно, вы захотите изменить название вопроса, чтобы получить лучшие ответы. Вот некоторый псевдокод, который поможет вам разобраться: Прокрутите каждую конфигурацию сборки на вашем сервере TC; Проверьте статус последней сборки; Сохраните список неудачных сборок; Показать неудачные сборки - person ShaneC; 12.02.2014
comment
Одно замечание: чтобы сделать локатор статуса с несколькими значениями, используйте формат ?locator=status:(error,running) - person Mike Post; 12.02.2016