2.5.15.1. ReporterBase
- class buildbot.reporters.base.ReporterBase(generators)
ReporterBase
is a base class used to implement various reporters. It accepts a list of report generators which define what messages to issue on what events. If generators decide that an event needs a report, then thesendMessage
function is called. ThesendMessage
function should be implemented by deriving classes.- Parameters:
generators – (a list of report generator instances) A list of report generators to manage.
- sendMessage(self, reports)
Sends the reports via the mechanism implemented by the specific implementation of the reporter. The reporter is expected to interpret all reports, figure out the best mechanism for reporting and report the given information.
Note
The API provided by the sendMessage function is not yet stable and is subject to change.
- Parameters:
reports – A list of dictionaries, one for each generator that provided a report.
Frequently used report keys
Note
The list of report keys and their meanings are currently subject to change.
This documents frequently used keys within the dictionaries that are passed to the sendMessage
function.
body
: (string)The body of the report to be sent, usually sent as the body of e.g. email.
subject
: (string orNone
)The subject of the report to be sent or
None
if nothing was supplied.
type
: (string)The type of the body of the report. The following are currently supported:
plain
andhtml
.
builder_name
: (string)The name of the builder corresponding to the build or buildset that the report describes.
results
: (an instance of a result value frombuildbot.process.results
)The current result of the build.
builds
(a list of build dictionaries as reported by the data API)A list of builds that the report describes.
Many message formatters support
want_steps
argument. If it is set, then build will containsteps
key with a list of step dictionaries as reported by the data API.Many message formatters support
want_logs
argument. If it is set, then steps will containlogs
key with a list of logs dictionaries as reported by the data API.The logs dictionaries contain the following keys in addition to what the data API provides:
stepname
(string) The name of the step that produced the log.
url
(string) The URL to the interactive page that displays the log contents
url_raw
(string) The URL to the page that downloads the log contents as a file
url_raw_inline
(string) The URL to the page that shows the log contents directly in thebrowser.
content
(optional string) The content of the log. The content of the log is attached onlyif directed by
want_logs_content
argument of message formatters oradd_logs
argument of report generators.
buildset
(a buildset dictionary as reported by the data API)The buildset that is being described.
users
(a list of strings)A list of users to send the report to.
patches
(a list of patch dictionaries corresponding to sourcestamp’spatch
values)A list of patches applied to the build or buildset that is being built.
logs
(a list of dictionaries corresponding to logs as reported by the data API)A list of logs produced by the build(s) so far. The log dictionaries have the same enhancements that are described in the
build
section above.
extra_info
(a dictionary of dictionaries with string keys in both)A list of additional reporter-specific data to apply.