2015-05-07 9 views
1

У меня есть buildbot работает с 2 строителями. Первый строитель выполняет шаги сборки, затем запускает (через триггерный планировщик) второй строитель, который выполняет тесты. Существуют 3 планировщиков: SingleBranch, сила и попытаться, которые инициируют 1-строитель, также есть 2 почты оповещатели:Buildbot деактивировать почтовый уведомитель для некоторых планировщиков (не для строителей)

for mode, builders in (('warnings', ['Build', 'Test']), 
        ('passing', ['Test'])): 
    c['status'].append(MailNotifier(fromaddr='...', 
            sendToInterestedUsers=True, 
            extraRecipients=['...'], 
            mode=mode, 
            builders=builders, 
            )) 

Так один Уведомитель отправляет отчеты о терпит неудачу как для построения и тестирования строителей и другой уведомитель посылает сообщения о успехе только для тестового построителя (это значит, что сборка тоже прошла успешно). В настоящее время отправитель уведомлений отправляет отчеты для всех трех планировщиков, которые активируют Build Builder. Вопрос: возможно ли, чтобы уведомители работали только для планировщика SingleBranch?

Заранее спасибо.

ответ

1

Нет простого способа сделать это. Однако можно делать то, что вы хотите:

class MyMailNotifier(MailNotifier): 
    def isMailNeeded(self, build, results): 
     if build.properties.getProperty('scheduler') == '<SingleBranchSchedulerName>': 
      return MailNotifier.isMailNeeded(self, build, results) 
     else: 
      return False 

Хотя этот код не проверен, я уверен, что он делает то, что вы хотите.

+0

Спасибо, это хорошая идея. Хотя планировщик для тестового построителя всегда запускается, поэтому я не могу использовать этот код без изменений. Но я попытаюсь передать планировщик предыдущего (строительного) строителя другим аргументом. –

 Смежные вопросы

  • Нет связанных вопросов^_^