Skip to main content
DevOps Image

This post is from the XebiaLabs blog and has not been updated since the original publish date.

Last Updated Nov 19, 2015 — DevOps Expert

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
  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 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!
Dashboards are the easiest way to find the metrics you need to run a successful business. Dig a little deeper with the experts with our webinar: "How to Build a Metric Optimized Pipeline"

Measure Your DevOps Success: Using Goal-based KPIs to Drive Results and Demonstrate ROI

Is your organization implementing DevOps but struggling to fully understand the impact of your initiatives? Are you making decisions “in the dark,” based on incomplete and subjective data… or even on feelings? How do you know which processes work the best? And how do you show the ROI of all your hard work? Come see how the latest advances in DevOps innovation will help you meet your DevOps goals faster!

More from the Blog

View more
Aug 02, 2021

Building better processes Part I: Should processes be tools-driven or requirements-driven?

This piece will look at why, conceptually, processes should be require ...
Read More
Jul 22, 2021

DevOps as a Service (DaaS): scaling digital transformation the right way

When going through digital transformation, many organizations have dis ...
Read More
Jun 28, 2021

Smash through barriers to data availability, make analytics easier

In DevOps, "data availability" often refers to a state where the app o ...
Read More
Jun 24, 2021

Strategies for DevOps adoption across teams

Implementing DevOps is not merely a change in IT and it’s certainly no ...
Read More
Contact Us