Buildbot отключает почтовый уведомитель для некоторых планировщиков (не для сборщиков)
У меня buildbot работает с 2 строителями. Первый сборщик выполняет этапы сборки, затем запускает (через запускаемый планировщик) второй сборщик, который выполняет тесты. Есть 3 планировщика: SingleBranch, Force и try, которые запускают 1-й компоновщик, также есть 2 почтовых уведомления:
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
Хотя этот код не тестировался, я вполне уверен, что он делает то, что вам нравится.