XebiaLabs | Continuous Delivery and Agile DevOps Tools

XebiaLabs Blog

Subscribe to XebiaLabs Blog: eMailAlertsEmail Alerts
Get XebiaLabs Blog via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: Intel XML, XML Magazine

Blog Feed Post

Dashboarding Your XL Pipeline

Today’s DevOps teams like to have dashboards to monitor their processes. Dashboards provide teams a view into the state of the environment that can be very useful. Today lets look at how we can use the XL Deploy and XL Release REST APIs to make an interesting dashboard with dashing.

Dashing is a Ruby application.  If you already have Ruby installed on your system it is quite easy to get started.  To install Dashing do the following:

  1. Install the gem from the command line. Make sure you have Ruby 1.9+$ gem install dashing
  2. Install some additional GEMs as follows:$ gem install rest-client
    $ gem install xml-object
  3. Check out my xl-dashboard project from github$ git clone https://github.com/zvercodebender/xl-dashboard.git
  4. Change your directory to xl-dashboard and bundle gems$ bundle
  5. Start the server!$ dashing start
  6. Point your browser at localhost:3030 and have fun!


The code uses some default values for connecting to your XLD and XLR servers.  If you are not running the dashboard on the same server as your XL Deploy and XL Release server you will need to modify the XlrServer.rb and XldServer.rb files.  Following the directions above should produce a dashboard similar to the one bellow:

Screen Shot 2015-11-10 at 4.13.32 PM


The dashing dashboard makes a nice display and is easy to configure.  XebiaLabs’ tools make this even easier.  XL Release and XL Deploy have simple REST interfaces that make integrating with them very easy.  Let’s review how this dashboard is built.  First we will need a dashboard definition file as follows:


 Dashing has various widgets that can be included in the dashboard definition.  The data-view tag defines the widget to be used in the dash board.  You can find out more about dashing widgets at the dashing.io website.   Once we have defined a dashboard we will need to create some jobs to collect information for XL Deploy and XL Release to be displayed in the dashboard.  Fortunately, it is easy to interact with XL Deploy and XL Release’s REST API in Ruby.  Our job to collect the XL Deploy task list data is as follows:


We are using the RestClient object to get an XML object from the XL Deploy REST API.  Then we can easily parse the XML object and create a HASH with the table data.  Once the HASH map is created it can be sent to our dashboard with the send_event() method.  The first parameter tells send_event() which widget in our dashboard will render this data.


The XL Release table is populated in a similar way, but this time instead of using an XML object we have a JSON object.  This time note that the send_event() sends the data to the xlrdata widget in our dashboard.


We could have connected our dashboard or other data sources as well for more much more complicated dashboards. I have only provided a small glimpse of the possibilities of what could be presented a dashboard.

Share your deployment pipeline with your organization and have fun making your own dashboards!

XebiaLabs develops enterprise-scale Continuous Delivery and DevOps software, providing companies with the visibility, automation and control to deliver software faster and with less risk. Learn how…

The post Dashboarding Your XL Pipeline appeared first on XebiaLabs.

Read the original blog entry...

More Stories By XebiaLabs Blog

XebiaLabs is the technology leader for automation software for DevOps and Continuous Delivery. It focuses on helping companies accelerate the delivery of new software in the most efficient manner. Its products are simple to use, quick to implement, and provide robust enterprise technology.