GeekSocket Plug in and be Geekified

How to get notifications from release-monitoring.org

I maintain a Copr for Emacs pretest builds. I wanted to have a mechanism to get notified when a new pretest release is available. That way I can keep the pretest RPMs on Copr up-to-date. In this post, I will be talking about the Anitya project, which is hosted at release-monitoring.org and how to get an email notification, when a new release of an upstream project is available.

What is release-monitoring.org and Anitya

Anitya is a release monitoring project. It provides a user-friendly interface to add, edit, or browse projects. A cron job can be configured to regularly scan for new releases of projects. When Anitya discovers a new release for a project, it publishes a RabbitMQ messages via fedora messaging.
Anitya docs.

It can also store mapping of the project with the package name in different GNU/Linux distributions. The Fedora project maintains a deployment of the Anitya project at https://release-monitoring.org.

Creating a new project

Anitya supports different backends to fetch versions of the projects. These can be source code hosting services like GitHub, GitLab, language specific registries like PyPI and more. Take a look at the documentation section Creating New Project to know about all the supported backends.

For my use case of Emacs pretests, I created a new project with the name emacs-pretest. Pretest tars are hosted at the https://alpha.gnu.org/gnu/emacs/pretest/ archive location. I used this as Version check URL. Instead of using the ‘GNU Project’ backend, I had to use the custom backend along with a regex to filter out the version. This is because the ‘GNU Project’ backend tries to find the package on the main GNU ftp server, which is not the correct place in our case.

emacs-pretest project onrelease-monitoring.org emacs-pretest project on release-monitoring.org

Getting email notifications

When there is a new release, release-monitoring.org publishes a message to Fedora’s message broker. This whole messaging infrastructure is called fedmsg (the Fedora FEDerated MeSsaGe bus) or Fedora Messaging.

There is another service called Fedora Notifications.

Centrally managed preferences for Fedora Infrastructure notifications to your inbox, irc client, and mobile device.
Fedora Notifications.

We can use this service to get an email notification when the project has a new release. The flow would be like this:

  • Anitya checks for a new release of the project.
  • When it finds a new release, it will publish a new message to fedmsg.
  • Our filters in the Notifications service will see that there is a new message on the bus, in which we are interested in.
  • Notifications will send an email to the configured email address.

There is also a service called Datagrepper, which provides an interface to query historical data from fedmsg.

Creating filters on Fedora Notifications

Login with your FAS (Fedora Account System) account to Fedora Notifications. It will take you to the Profile tab.

Go to the email tab, make sure the delivery mechanism is active. On the left side of the screen, you will see a lot of existing filters. Don’t worry about them for now, those are the pre-defined filters.

To create a new filter, put a name in the text box on the left side of the page and click Create a new filter. In this case I’m calling it ‘Emacs Pretest release’.

This will create a new filter, and open the editing interface where we will add filter rules. First we will add the rule Anything regarding a particular “upstream project”, which is under Anitya Rules section on the right. This will ask for the name of a project from Anitya, enter a project name (i.e. emacs-pretest here), and click on Add this rule. The user interface will try to show some example messages matching this filter, but this does not work most of the time or takes a lot of time to load.

To receive notifications only when there is a new release, we will add another rule to this filter. From the Anitya Rules section, select When new upstream releases are detected, and click on Add this rule. These two filters and ANDed and you will receive an email notification when there is a new release available for the upstream project. The filter is saved automatically, so you can logout now.

Final filter rules on FedoraNotifications

And voilà! This is how the notification email looks.

Email notification for a new upstreamrelease


Comments

comments powered by Disqus