plasticnotifier - a small tool to watch repos and show desktop notifications with new csets
Today we released plasticnotifier, a small utility to monitor Plastic SCM repositories and notify about new changesets on the Windows Desktop using “toast notifications”.
We published the code and binaries on GitHub so feel free to download it, use it and of course modify it for your own needs :-).
How to use it
Running plasticnotifier is straightforward. All you need is to get the binary (a single .exe file) and run it on your Windows 10 or Windows 8.x (required for the Toast Notifications).
A typical session will be as follows:
Where “codice” is the name of the repo to monitor and “diana.codicefactory.com:9095” our internal server hosting the repo.
plasticnotifier will poll your server every 30 seconds looking for new changesets. As soon as it finds one, a new “banner” or Toast will be displayed in your desktop with the comment and branch of the new changeset.
In case you don’t feel like waiting for the next changeset to be checkedin, you can run plasticnotifier with the --since flag, so the first run will list all the changesets since that date:
plasticnotifier.exe email@example.com:9095 --since "8/18/2016 0:00:00"
How it is implemented
Remember you can check the source code here. The app is based on some code to display Toasts, and then the CmdRunner which is just some glue code around our command line tool “cm.exe” to help you running commands and getting results. CmdRunner is the code we actually use to run our internal “smoke test suite” which is a set of +700 automated tests running commands and servers. We use this suite to test Plastic on Windows, Linux and Mac, and a number of different specific OS flavors and database backends.
Contributions are welcome
plasticnotifier is far from complete:
- It lacks support to track replicated changesets. Suppose it is now 10:30 am and plasticnotifier is running. Then a replica brings new changesets made yesterday on a different repo… plasticnotifier will NOT notify them. Fixing it is rather simple, just a matter of “cm find replicationlog where date >= ‘a given date’” and then looping the csets on each replica.
- It doesn’t check a cset is notified twice. Fixing it wouldn’t be hard but… not yet there.
- It can’t monitor multiple repos.
Just to mention a few.
So, give it a try and figure out if you need to add some specific feature :-)
About Toast Notifications
plasticnotifier is a command line application (a C# Console App) and it uses the code we shared yesterday to display Toast Notifications (http://blog.plasticscm.com/2016/08/how-to-send-windows-toast-notifications.html).