Hudson -CI Screen Saver Setup

HI, do I have the ability to customize a screen saver with a list of projects running in hudson that indicates the status of the project. Say that part of the screen saver indicates green for projects that have been successfully implemented, and shows red if the project has not been created.

Probably the screen saver should be divided into several projects.

+7
java continuous-integration hudson
source share
4 answers

You can create something in any suitable environment, for example. Flex / AS3. which can read XML, as well as generate a splash screen design and an executable file that you need (depending on your target platform).

You can simply create on a simple web page and use hudson data over AJAX and display your display in HTML / CSS, it is up to you, but it is pretty trivial.

Hudson will provide a current list of tasks and their status color over the base API (XML in this example)

http://hostname:8080/api/xml 

You will get something like ...

  <hudson> <assignedLabel></assignedLabel> <mode>NORMAL</mode> <nodeDescription>the master Hudson node</nodeDescription> <nodeName></nodeName> <numExecutors>5</numExecutors> <job> <name>JobOne</name> <url>http://hostname:8080/job/JobOne/</url> <color>blue</color> </job> <job> <name>JobTwo</name> <url>http://hostname:8080/job/JobTwo/</url> <color>blue</color> </job> <job> <name>JobThree</name> <url>http://hostname:8080/job/JobThree/</url> <color>blue</color> </job> <overallLoad></overallLoad> <primaryView> <name>All</name> <url>http://hostname:8080/</url> </primaryView> <slaveAgentPort>0</slaveAgentPort> <useCrumbs>false</useCrumbs> <useSecurity>true</useSecurity> <view> <name>All</name> <url>http://hostname:8080/</url> </view> <view> <name>Dashboard</name> <url>http://hostname:8080/view/Dashboard/</url> </view> </hudson> 

You will be interested in these nodes ...

  <job> <name>JobOne</name> <url>http://hostname:8080/job/JobOne/</url> <color>blue</color> </job> <job> <name>JobTwo</name> <url>http://hostname:8080/job/JobTwo/</url> <color>blue</color> </job> <job> <name>JobThree</name> <url>http://hostname:8080/job/JobThree/</url> <color>blue</color> </job> 

That would be easy to select and get the desired color (build status - red or blue) and the name of the job. If you want more information, I will gladly throw something basic together.

Update: A very simple Flex example.

 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="*" creationComplete="start()"> <!-- The HTTPService request --> <mx:HTTPService id="jobsRequest" url="http://localhost:8080/api/xml" useProxy="false" method="POST"> <mx:request xmlns=""> </mx:request> </mx:HTTPService> <!-- basic timer to trigger the data request from Hudson --> <mx:Script> <![CDATA[ import flash.utils.Timer; import flash.events.TimerEvent; private var t:Timer = new Timer(5000, 0); // repeat every 5 seconds; private function start():void { t.addEventListener(TimerEvent.TIMER, getHudsonStatus); t.start(); } private function getHudsonStatus(e:TimerEvent):void { jobsRequest.send(); } ]]> </mx:Script> <!-- the view --> <mx:DataGrid id="hudsonJobsDataGrid" x="22" y="128" dataProvider="{jobsRequest.lastResult.hudson.job}"> <mx:columns> <mx:DataGridColumn headerText="Name" dataField="status"/> <mx:DataGridColumn headerText="Status" dataField="color"/> </mx:columns> </mx:DataGrid> </mx:Application> 

This is pretty bad, but it requires getting data, Flex 4 or Silverlight will provide you with better data-driven lists using ItemRenders (Flex4 Spark) or DataTemplates (Silverlight), I think Flex4 route will need less code, and if it MUST be a screen saver, just convert SWF to screensavers, and many tools are available to automate the process.

Update 2: A slightly better example of Flex 4 ...

I created a nicer view as a full-screen AIR application with Flex 4 using the Spark components (DataGroup + ItemRenderer) here http://gist.github.com/623167 as a source. It requires a Flashbuilder4 or AIR SDK to create it. Of course, this is not a finished product!

It looks like this: http://i.stack.imgur.com/8I92U.png - when it was tracking http://deadlock.netbeans.org/hudson

+8
source share

Install the Radiator View plugin for Hudson; this should provide the necessary functionality.

+2
source share

You can try building a radiator like Buildron. It also supports Hudson and a very cool way to update the whole team about build status.

enter image description here

in addition to the 3D environment, it has a sound and a mobile application for iOS and Android, where you can interact with it.

+1
source share

Team Build Screen will do what you need, but currently only supports TFS 2008/2010. Fortunately, I'm currently working on version 1.4.0, which includes support for Hudson. If you're interested, check out the latest source code: http://teambuildscreen.codeplex.com/SourceControl/list/changesets . Basic support has been tested but not yet finalized in release.

You can download the source code and create it yourself, the project is called TeamBuildScreen.DesktopHudson.

More information about the project can be found at: http://teambuildscreen.codeplex.com/

0
source share

All Articles