-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the jBlinky wiki!

jBlinky is a library that allows you to easily set up a CI build light. It uses the usb4java as the USB communication handler by default (although it can be overridden!). It allows access to the lights so you can manually handle them and also provides a small orchestration process called Probe Verification.
Access the lights and do your own logic:
Light light = new JBlinky().getLight();
boolean success = doSomething();
if(success) {
light.success();
} else {
light.failure();
}
light.off();Provide probes to the light and let the light monitor the probes indefinitely:
Light light = new JBlinky().getLight();
//the verifyProbes method blocks the thread!
light.verifyProbes(new TimeAlarmProbe(12, 0, "Time to lunch!"));You could also send multiple probes and the light will iterate through them every second indefinitely:
Light light = new JBlinky().getLight();
TimeAlarmProbe probe1 = new TimeAlarmProbe(12, 0, "Time to lunch!");
TimeAlarmProbe probe2 = new TimeAlarmProbe(17, 0, "Time to go home!");
light.verifyProbes(probe1, probe2);For more details and ways of using jBlinky and Lights, please go to the jBlinky & Lights page.
The jBlinky lights provide an orchestrated process called Probe Verification, which allows you to indefinitely monitor different Probes.
Probes are small components that verify health, status or any indication that is important to be monitored. This probes may query information from the internet, verify the time, communicate with other applications, the possibilities are endless.
jBlinky provides two Probe implementations:
-
CCTrayProbe- It fetches a Cruise Control Tray from a CI Server (like Jenkins) and verifies that the jobs are in a successful state. You can filter the jobs to make more specific verifications. -
TimeAlarmProbe- It will verify the current time and if it matches the Probe's alarm time, it will trigger anIN_PROGRESS(usually yellow) notification.
For more detailed information on the Probes and how to write and use your own, please go to the Probes page.
Currently jBlinky supports two USB Light devices:
- Delcom Gen2 USB Light
- DreamCheeky WebMail Notifier
For more details on this USB specifications or how to add and use your own specs, please go to the USB Devices page.
jBlinky uses the SLF4J to allow the implementor (you!) to decide what logging framework you want to use.
For more detailed information on how to integrate a logging framework in your project and start reading the guts of the jBlinky library, here's the Logging page.
On the other hand, if you are not interested on getting jBlinky internals on your console it's all right, SLF4J will default to NOP (No Operation) and you won't see any logs from the library, you are free to carry on!