Translates Mozilla buildbot pulse messages into a standardized format for easier consumption
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


The pulsetranslator script consumes Mozilla buildbot pulse messages and then re-publishes them in a normalized format. It does this because native buildbot messages do not share any consistent structure, and change frequently and without warning. Consuming them directly is therefore error-prone and subject to frequent failure.

The normalized messages are published to the exchange "exchange/build/normalized".

Installing, Configuring, and Running

Install pulsetranslator as any regular Python package:

python install

You'll need to create a ini-style config file with information on the Pulse accounts. It should have both [publisher] and [consumer] sections, and both must contain at least "user" and "password" options. They can also include any of the standard mozillapulse configuration options.

The minimum command line to run pulsetranslator is

runtranslator --pulse-cfg=<path to config file>

You can get help on other options by running

runtranslator -h

To test specific buildbot pulse messages, you can push a locally stored JSON file into the translator. It's recommended to use the --display-only option, to only log the final normalized message to the console.

runtranslator --display-only --push-message <path_to_json_file>

Please keep in mind that in case of errors, details can be found in the specific log files under "logs" sub directory.

Routing Keys

For unittests:


For example,


For talos tests, the same format applies, except that the first part of the key is 'talos' instead of 'unittest'. For example:


For builds:


For example:


For simple uses, you may be able to consume messages directly from the "exchange/build/normalized" exchange. For more complex uses, you may find it easier to use pulsebuildmonitor, which can filter messages for you based on a number of criteria. See the pulsebuildmonitor README for more details.