The Buildmaster has a variety of ways to present build status to
various users. Each such delivery method is a “Status Target” object
in the configuration's status
list. To add status targets, you
just append more objects to this list:
c['status'] = [] from buildbot.status import html c['status'].append(html.Waterfall(http_port=8010)) from buildbot.status import mail m = mail.MailNotifier(fromaddr="buildbot@localhost", extraRecipients=["builds@lists.example.com"], sendToInterestedUsers=False) c['status'].append(m) from buildbot.status import words c['status'].append(words.IRC(host="irc.example.com", nick="bb", channels=[{"channel": "#example1"}, {"channel": "#example2", "password": "somesecretpassword"}]))
Most status delivery objects take a categories=
argument, which
can contain a list of “category” names: in this case, it will only
show status for Builders that are in one of the named categories.
Each of these objects should be a service.MultiService which will be attached
to the BuildMaster object when the configuration is processed. They should use
self.parent.getStatus()
to get access to the top-level IStatus object,
either inside startService
or later. They may call
status.subscribe()
in startService
to receive notifications of
builder events, in which case they must define builderAdded
and related
methods. See the docstrings in buildbot/interfaces.py for full details.