Jenkins : Traffic Light Plugin

To support the continuous integration process this plugin provides the functionality to use traffic lights to show the status of a job. Whenever a build of an observed job starts or finishes, the traffic light will update its state. The traffic light is controlled by a network enabled power strip.

States of the traffic light

red

no job is currently building, at least one job is unstable or has failed

yellow

at least one job is currently building

green

no job is currently building, all jobs are stable

For disabled jobs and manually aborted builds the last completed build is used.

Supported Devices

In order to connect a traffic light (or similar device) to a jenkins server the following ethernet enabled power strips are supported:

"Net-PwrCtrl Home" of ANEL Elektronik AG

Resources

http://www.anel-elektronik.de/english/Produkte/NET-PwrCtrl_HOME/net-pwrctrl_home.html

Firmware

Supported firmware versions: v2.1 and v4.x (others might work, too)

Setup

Socket number

Colour of traffic light

1

green

2

yellow

3

red

"PM 211-MIP" of Infratec

Resources

http://www.infratec-plus.de/ftp_closed/infratec/pm211-MIP/Infratec_PDULINE_PM211_QIG_DE_EN_ES.pdf

Firmware

Supported firmware versions: v1.01 (others might work, too)

Setup

Slave socket number

Colour of traffic light

1

green

2

red

Download

If you find bugs, want to engage yourself in development or have feature requests, you can get in contact with us under: info@bluecarat.de

File

Version

Build against Jenkins

Binary

3.1

1.593

Source Code

3.1

1.593

Configuration

Jenkins Configuration

The available traffic lights (power strips) are configured on the global jenkins configuration page. Multiple traffic lights of the same type and/or of different types can be set up.

Job Configuration

Within a job's configuration page available traffic lights can be added to use for build status visualization.

Known Issues

  • Loss of configuration after update from 2.0: Due to renamed properties, the old configuration will be considered invalid and has to be entered again.

Future Plans

  • Add support for more types of power strips.
  • Add different algorithms for traffic light behaviour.
  • Add generic HTTP post/get controller to integrate unknown power strips or other devices.
  • Extend input validation.

Changelog

Version 3.1

  • Added validation for power strip configuration
  • Added ability to check connection to power strip on configuration page
  • Port numbers are now configurable for all supported power strips
  • Various code quality improvements
  • Compatible with Jenkins 1.593

Version 3.0

  • Added support for multiple traffic lights per jenkins instance. The traffic
    light will be set to yellow, if any visualized project is currently building.
    It will only be green, if all visualized projects are not building and
    finished successfully.
  • Improved support for multiple traffic lights per job
  • Moved assignment of traffic lights to job configuration.
  • Added support for new firmware version of "Net-PwrCtrl Home" (4.x) including
    authentication.
  • Added support for authentication for "Infratec PM 211-MIP".
  • Compatible with Jenkins 1.572

Version 2.3

  • Maintenance release
  • Increased code quality

Version 2.2

  • Updated Tests to JenkinsRule
  • Compatible with Jenkins 1.522

Version 2.1

  • Removed configuration entry from the project configuration side
  • Compatible with Jenkins 1.427

Version 2.0

  • Support for multi-module projects:
    • if one modules fails, the traffic light will be set to red and stays red
  • Support for a second traffic light
    • the "old" settings will be considered invalid
    • the settings have to be reentered
  • States of a traffic light is now modeled as a state machine
  • Compatible with Hudson 1.372

Attachments:

trafficlightcontroller.hpi (application/octet-stream)
TrafficLightPlugin.zip (application/zip)
trafficlightcontroller.hpi (application/vnd.hp-hpid)
TrafficLightPlugin.zip (application/zip)
trafficlightcontroller.hpi (application/octet-stream)
TrafficLightPlugin.zip (application/zip)
TrafficLightPlugin.zip (application/zip)
trafficlightcontroller.hpi (application/octet-stream)
trafficlightcontroller.hpi (application/octet-stream)
TrafficLightPlugin.zip (application/zip)
global-add.png (image/png)
global-configure.png (image/png)
job-configure.png (image/png)
job-select-controller.png (image/png)
traffic-light-in-action.png (image/png)
job-configure.png (image/png)
trafficlightcontroller.hpi (application/octet-stream)
TrafficLightPlugin.zip (application/zip)
trafficlightcontroller-source.zip (application/zip)
trafficlightcontroller.hpi (application/octet-stream)
TrafficLightPlugin.zip (application/zip)