Manage Release Workflows in Other Tools Using XL Release

| September 25, 2015 | 0 Comments

Today we’ll discuss how to dynamically import release workflows from other third party tools into XL Release. We will then manage them completely through XL Release, updating the third party tool using their APIs.

This example focuses around ServiceNow, a Third Party tool which is sometimes used by managers to maintain full release workflows using ChangeRecords and ChangeTasks. This is most helpful when you are manually updating the Tasks that are about start and completion of an actual piece of work that might be done on another system. Examples are triggering build jobs, performing deployment, updating ticketing systems, sending notifications, etc.

XL Release gives you the capability to not only do all the management and tracking of tasks but you can actually trigger the activities to remote systems directly through XL Release in an automated fashion.

Here are the code changes on Gist, including a synthetic.xml change along with two python scripts. You will also need the attached hotfix file to enable dynamic creation of Phases. You can put that under the XLR_HOME/hotfix folder

You can download the code changes and then:

  1. Append the synthetic.xml changes into your XLR_HOME/ext/synthetic.xml
  2. Create a folder called servicenow under XLR_HOME/ext and drop the python scripts under that folder
  3. Copy the hotfix jar under XLR_HOME/hotfix
  4. Restart the server and the changes should be updated
  5. After logging in , go to Settings > Configuration. You will see an option for configuring Service Now server
    • Specify the value for URL, credentials
    • You will see default values for the changeRequest and changeTicket table names. You can change it if you have customized it in your instances.
    • Screen Shot 2015-09-11 at 1.19.10 PM
  6. Now go to Templates and create a new template and call it “ServiceNow Workflow Import”
    • Screen Shot 2015-09-11 at 1.19.32 PM
  7. Add the first task in the new phase of type “ServiceNow: Generate Release”
    • Screen Shot 2015-09-11 at 1.20.05 PM
  8. Now create a new release from this template.
    • Provide the Username /password for running scripts.
    • Provide the Change Request Number to use from which the whole workflow of change tickets will be pulled.
    • Create the new release and then click start release button.
    • Screen Shot 2015-09-11 at 1.21.43 PM
    • Screen Shot 2015-09-11 at 1.22.10 PM
  9. Once you start the release, the Generate Release task will execute and connect to the ServiceNow instance to pull the change tickets workflow for the change request.
    • Screen Shot 2015-09-11 at 1.27.26 PM
  10. In a moment, you will see the phases created filled with new tasks.
    • Screen Shot 2015-09-11 at 1.23.30 PM
  11. Currently, each change ticket will be created as a manual task and there would be a webhook task before and after it to update the start and complete status for the task and also post the comment.

 

XL Release allows you to easily integrate with any third party workflow management system through their API interface.  In addition, it’s possible to have work items converted into automated tasks that trigger builds and deployment.

 


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… 


About the Author ()

Amit is the Lead Pre-Sales Solution Architect managing US Pre-Sales Team at XebiaLabs.