私は基本的に評価コマンドを上書きするためにShellCommandを継承しました。 評価コマンドでは、ログを解析して、メール通知を送信するパッケージの実際の管理者を見つけます。buildbotのシェルコマンドの評価コマンドでメール通知を追加
郵便通知以外はすべて正常に動作しません。
class CustomShellCommand(ShellCommand):
command = None
parser = None
haltOnFailure = True
buildername = ''
ci = None
def __init__(self,command, ci, buildername, **kwargs):
self.ci = ci
self.command = command
self.buildername = buildername
ShellCommand.__init__(self, **kwargs)
if len(self.command) > 0 and self.command[0] == 'make_isolated':
self.parser = ParseLog()
self.addLogObserver('stdio', self.parser)
self.setDefaultWorkdir("build")
def evaluateCommand(self, cmd):
if self.parser is not None:
self.parser.packages
for pkg in self.parser.packages:
emails = get_maintainer_emails()
if cmd.rc > 0:
mn = add_mail_notifiers([self.buildername], emails[-1])
self.ci.masterconfig['services'].append(mn)
return util.FAILURE
else:
return util.SUCCESS
しかし、ときに私はそれが動作しますが、コマンドを評価では動作しませんのinitのメール通知機能を追加します。 何か指摘していただければ幸いです。