jBlinky is an easy-to-configure Java library to set up CI job build lights.
The library is not only tied to CI job builds however, it can also monitor different types of Probes and allows you to create your own!
For use cases, documentation and more details, please visit the jBlinky Wiki site.
This project started as a Java port of Perryn Fowler's blinky.
The project is contained in three main modules:
jblinky-coreprovides the actual USB Lights functionality, including the Probe Verification process.jblinky-devicesis a collection of USB Light specifications from different vendors and manufacturers.jblinky-probesis a collection of various Probes that can be verified by jBlinky lights.
To use jBlinky, import the core module:
<dependency>
<groupId>com.rastadrian</groupId>
<artifactId>jblinky-core</artifactId>
<version>0.1.1</version>
</dependency>To use the provided USB Light device specifications, import the devices module:
<dependency>
<groupId>com.rastadrian</groupId>
<artifactId>jblinky-devices</artifactId>
<version>0.1.1</version>
</dependency>To use the provided Monitoring Probes, import the probes module:
<dependency>
<groupId>com.rastadrian</groupId>
<artifactId>jblinky-probes</artifactId>
<version>0.1.1</version>
</dependency>Needless to say, you are always able to create, provide and use your own custom devices and custom probes.
Just create a new jBlinky object, access one of the lights and use them!
//Creates a new blinky, retrieves the first connected light and blinks between red and green.
new JBlinky().getLight().test();You can also provide the Probes that you want to monitor.
//Creates a new blinky and verifies a single job on a Jenkins Cruise Control Tray.
Probe probe = new CCTrayProbe("https://yourdomain/jenkins/cc.xml", new String[] {"job-name"});
Light light = new JBlinky().getLight();
light.verifyProbes(probe);Please visit the jBlinky & Lights Wiki page for more detailed use cases!
The library requires:
- Java 8 Runtime Environment
jBlinky currently supports this lights:
It support and has been tested on:
- Mac OSX
- MS Windows (tested on 8.1).
This project is licensed under the OSI MIT License.
