Taskotron: Problem, Solution, Implementation

With Taskotron not sending comments to Bodhi anymore, there was no easy way to be notified about task results. This changed about a month ago when Taskotron started emitting fedmsgs so results started arriving to packagers. Last week, we fine-tuned notifications so packagers have more power over what result notifications they receive. Let’s have a look what are the defaults and what you can do to change them to suit your needs.

Default Taskotron filters

The default FMN Taskotron filter looks like this:Default Taskotron filters in FMN
What this means is that by default, any time depcheck or upgradepath tasks run on a package you have either commit ACLs on or the watchcommits flag, and the result (outcome) is either FAILED or has changed from the previous run, you get notified (on IRC, email, or both depending on how you set your FMN) about the result.

Let’s have a look at an example of a notification that maintainers of puppet got recently.

upgradepath FAILED for puppet-4.2.1-1.fc23 https://taskotron.fedoraproject.org/artifacts/all/d091d596-d9b6-11e5-b4e1-525400120b80/task_output/puppet-4.2.1-1.fc23.log

The notification is pretty straight-forward, saying that the package failed upgradepath task and contains a log with details.

If one wants to receive a different set of notifications, there are two options.

  1. Add or remove rules in the default Critical taskotron tasks on my packages filter
  2. Create a new filter

Useful Taskotron filters

Let’s have a look at couple of filters that some might find useful.

Let’s say someone is satisfied with the default filter, but wants to receive notifications about the rpmlint task in addition to release-critical tasks. This can be done by omitting Release-critical taskotron tasks rule, so the filter would look like this.

Taskotron "all tasks" filter

Another use case could be that the maintainer wants to receive notifications even when tasks do pass. The following filter allows maintainers to receive notifications for any task with any outcome.

Taskotron: "all tasks outcomes" filter

Craft your own Taskotron filters!

If there are any more use cases, the following set of rules are available to add to your own custom set of filters.

Taskotron notification rules

Contact us

If you hit any issues, have any questions, and/or suggestions, don’t hesitate to contact us either in #fedora-qa on Freenode IRC or on qa-devel mailing list. You can also file bugs or send RFE in our Phabricator instance.