Get the current build status from Jenkins and Quality Gate Status from Sonar for multiple projects and report them on a blink1 device.
All status can be placed to 'slots'. Slots are gone through iteratively with a fixed duration per slot. Status from jobs can be assigned to an available LED of the blink1 devices that are attached.
This project depends on https://github.com/hink/go-blink1/ which makes use of libusb to access the blink1 device. libusb is available for many Platforms including Linux, Mac and Windows.
You need to install following dependencies first:
- libusb
- Go >= 1.9
For Linux, you will need to add a udev rule if you want to execute the binary without root permissions. On Arch Linux, it would look like this:
cat /etc/udev/rules.d/10.blink1.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="27b8", ATTRS{idProduct}=="01ed", SYMLINK+="blink1", GROUP="wheel"
In theory, it should also work with Windows, if libusb is installed. I have never tested this, though...
Download and install to GOPATH:
go get github.com/g3force/qaBlink
It will produce a qaBlink
executable in $GOPATH/bin. The executable assumes a config.json
file in the current working directory or a .qaBlink.json
in your HOME dir.
Copy example.config.json to config.json and adapt it to your needs. You can define multiple Jenkins and Sonar connections and jobs and assign them to slots.