【问题标题】:Buildbot deactivate mail notifier for some schedulers (not for builders)Buildbot 为某些调度程序停用邮件通知程序(不适用于构建器)
【发布时间】:2015-05-07 14:20:05
【问题描述】:

我的 buildbot 与 2 个构建器一起运行。第一个构建器执行构建步骤,然后触发(通过可触发调度程序)执行测试的第二个构建器。有 3 个调度器:SingleBranch、Force 和 try,它们触发第一个构建器,还有 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 调度程序?

提前致谢。

【问题讨论】:

    标签: python buildbot email-notifications


    【解决方案1】:

    没有简单的方法可以做到这一点。然而,你可以做你想做的事:

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

    虽然此代码未经测试,但我非常有信心它可以满足您的需求。

    【讨论】:

    • 谢谢,这是个好主意。虽然,测试构建器的调度程序始终是可触发的,所以我不能在不修改的情况下使用此代码。但我会尝试通过另一个 arg 传递先前(构建)构建器的调度程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 2019-09-09
    相关资源
    最近更新 更多