Pulse Integrations

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 task.routes property 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 task.extra key.

For example a custom build dashboard for the amazingcats project might add the route project.amazingcats.<revision>.test to each test task. The dashboard would listen for messages copied to this route. For each task, it would examine 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.