Pulse provides a great arms-length integration
point for connecting other services to Taskcluster. Taskcluster already sends a
great many messages as tasks are executed, and the
allows you to add additional, custom messages.
A common pattern -- used by Treeherder, for example -- is to include a custom
route in tasks of interest, then add additional configuration under the
For example a custom build dashboard for the amazingcats project might add the
project.amazingcats.<revision>.test to each test task. The dashboard
would listen for messages copied to this route. For each task, it would
task.extra.amazingcats.test-info to find information about the tests
that were run, and might also look for a test-specific artifact in the task
indicating the results of those tests. All of this gets loaded into the
dashboard's database and displayed to developers.
At the moment, Taskcluster does not react to external pulse messages, but there are plans to add such support.