JenkinsGadget with FEZ Raptor

JenkinsGadget (Part 2) – Monitor Jenkins build server with Gadgeteer

In a previous post I described my JenkinsGadget, a Gadgeteer-based piece of hardware to monitor a Jenkins continuous integration server. Since then, I’ve upgraded some hardware. I’m now using the following components:

JenkinsGadget with FEZ Raptor

 

 

 

 

  • FEZ Raptor – mainboard
  • Breadboard X1 – breadboard

The new setup is as shown above. Here is a picture of the setup:

JenkinsGadget Raptor Setup

 

 

 

 

 

There are four major parts of the code:

  1. WiFi connection
  2. Monitoring Jenkins
  3. Using Breadboard X1
  4. Using MulticolorLED

Making a WiFi connection has been described in another article. There are some breaking changes from .NETMF 4.2 .to 4.3. However, the concepts are the same and you can review the class WiFiHelper.cs to see the changes.

Monitoring the Jenkins server requires an understanding of the JenkinsAPI. However, for my case, I was able to search the XML for values.

The WatchJenkins method makes a simple http request using basic authentication.

Running this in a Timer will return the XML from the endpoint in jenkinsUrl (http://<YourJenkinsServer>:8080/api/xml)

This text is passed into GetCurrentState(string content). This only returns the state of the server based on the XML:

I update both the MulticolorLED and the LED on the breadboard using this value. Using the MulticolorLED is trivial. For example, if the Server is “Blue_Building”:

 

The breadboard requires a separate Timer. First the timer turns all the light off. Then,it blinks or is constant based on the “currentColor”

There are several other features of the JenkinsGadget. There are the important ones though. Let me know if you have any questions. I’m always happy to talk Gadgeteer.

Share this Post