In today's fast-paced development environments, coordinating software deployments while ensuring compliance with change management processes is essential. Integrating Azure DevOps with Freshservice for change management brings significant value to users by streamlining workflows and enhancing governance.


Benefits of Azure DevOps and Freshservice integration: 


  1. Automated change creation for time savings: By automating the creation of change records in Freshservice directly from Azure DevOps, teams eliminate manual data entry tasks, reducing the risk of errors and saving valuable time.


  1. Real-time Visibility: Ensures change teams have real-time visibility into deployment schedules and activities allowing for better coordination and planning, minimizing conflicts and disruptions.


  1. Improved Auditability: Automated change creation ensures that every deployment is accurately documented, enhancing auditability and compliance with regulatory requirements.

  2. Efficient Collaboration: Facilitates collaboration between development and change management teams allowing them to work more effectively, accelerating deployment cycles.

  3. Enhanced Control: Empower change teams to enforce policies and controls consistently across the deployment pipeline. By automating change creation and tracking, organizations can maintain governance standards without impeding agility.


Here's a quick demo of how Freshservice and Azure DevOps work seamlessly:



Steps to configure: 


  1. Integrate Change Management with Deployment Schedule


Development teams often adhere to specific deployment schedules for various applications. However, coordinating these deployments with change management processes can be challenging. With the Azure DevOps marketplace app, you can automate the creation of changes in Freshservice, streamlining the process for both development and change teams.


Steps:


  1. Navigate to Admin > DevOps Management > DevOps tools > Azure DevOps





  1. The Freshservice instance details will be pre-filled. Fill in the API key details to get started. (Navigate to profile icon > Profile settings, you will find ‘Your API key’ on the right pane)


On successful installation of the app, you’ll find two tabs:

A. Connections: Connections are a secure way to give Freshservice access to data in different business applications, Azure DevOps in this case.

B. Recipes: Recipes are essentially automation tools for business tasks. They are workflows that link your different business applications, making processes more efficient. Recipes are made up of triggers, apps & app connections, and actions.

  1. In the Connections tab, click on ‘Create new connection’ to add new connections/credentials to your Azure DevOps account. Ensure you add all Azure DevOps connections under this tab. 





If you already have Azure DevOps credentials saved under the Credentials section in Freshservice, you can choose it from the Credentials dropdown. The organization name should be your org name from Azure DevOps account. (ex: Org name from https://dev.azure.com/<org_name>/ )

If you don't have Azure DevOps credentials saved, choose Add New Credential.

You would need a Personal Access Token to save the credential. Here is how you can create one from Azure DevOps

  • Sign in to your organization (https://dev.azure.com/{Your_Organization})
  • From your home page, open user settings  and select Personal access tokens.



  • Select + New Token.


  • Name your token, select the organization where you want to use the token, and then set your token to automatically expire after a set number of days.


  • Select the scopes for this token to authorize for your specific tasks.


  • When you're done, copy the token and store it in a secure location. For your security, it doesn't display again.


  • Use your PAT anywhere your user credentials are required for authentication in Azure DevOps.





  1. In the Recipes tab, click on ‘Create a new Recipe’.


  1. You can optionally create a Recipe from the available templates (<Template Name>).

  2. In the Recipe canvas, set the Trigger to ‘Scheduler’

    1. Configure the appropriate frequency that reflects your deployment schedule

    2. You can also use ‘Cron expression’ to customize the schedule based on your need



  1. Add a Freshservice action to create a Change

    1. Search for the Freshservice connector in the actions configuration

    2. Look for ‘Create Change’ action

    3. Provide the details of the Change that needs to be auto-created

    4. You can dynamically fill in values from the data pills available




  1. Add further action to fetch the list of work items ready for deployment from Azure DevOps

    1. Search for Azure DevOps by Freshservice connector in the actions configuration

    2. Look for ‘Custom action’

    

  1. Using the guided setup, provide the details of the Work items filter API

    1. URL 

    2. Connection 

    3. POST body  

    4. Test the configuration. The schema will be auto-generated. 


  1. Introduce a ‘for each’ action to loop through each work item

  2. Inside the loop, add a Freshservice action to associate work items to the Change

    1. Choose the Freshservice connector and select ‘Associate Work Items to the Change’

    2. Fill in the Change ID dynamically using the output from step 7

    3. Fill in the app details - Azure DevOps, the project and organization details

    4. Fill in the URL of the work item to be associated dynamically from the output of step 9

    

  1. In further action within the loop, you can optionally fetch Pull Requests for each Work item through this API call and have them associated with the same change.



  2. Save and end the Recipe configuration. 

  3. In the event of a trigger, the change will be automatically created, and the details will be recorded in Freshservice.



2. Integrate Change Management with CI Process


In organizations where Change Teams require immediate records of deployment initiations, automating the creation of Changes as soon as Pull Requests are merged can streamline the Continuous Integration (CI) process.


Steps: 


  1. Install the Azure DevOps marketplace app. 

  2. Provide Freshservice instance and API key details

  3. In the Connections tab, add connections/credentials to your Azure DevOps account

  4. In the Recipes tab, create a new Recipe

  5. You can, optionally, create a Recipe from the template (<Template Name>)

  6. In the Recipe canvas, set the Trigger to ‘Trigger from the application’

    1. Select Azure DevOps connector

    2. Look for the ‘Pull Request merged’ event and set that as the trigger

  7. Add a Freshservice action to create a Change

    1. Search for the Freshservice connector in the actions configuration

    2. Look for ‘Create Change’ action

    3. Provide the details of the Change that needs to be auto-created

    4. You can dynamically fill in values from the data pills available

  8. Add a Freshservice action to associate the PR to the Change

    1. Choose the Freshservice connector and select ‘Associate Pull Request to the Change’

    2. Fill in the Change ID dynamically using the output from step 7

    3. Fill in the app details - Azure DevOps, the project and organization details

    4. Fill in the URL of the PRto be associated dynamically from the output of step 6

    5. End the Recipe configuration