HaloCRM Guides
Azure DevOps Integration
Overview
The Azure DevOps integration allows you to sync tickets from Halo to work items in Azure DevOps and vice versa. This includes ticket/work item creation as well as updates to various fields.
Getting Connected
Configure the Azure DevOps integration by navigating to Configuration > Integrations and enabling the module by hovering your cursor over the integration button and clicking the + icon.
Fig 1. Enable the module
Note: This integration can't be used simultaneously with the Jira integration in the same Halo instance.
Once enabled, access the integration to start configuration.
Upon clicking into the integration, click New in the top right corner to begin a new connection to Azure DevOps. This will prompt you to name your connection, provide an Azure DevOps instance URL as well as a Personal Access Token.
Fig 2. Details for connection
This can easily be generated in Azure DevOps by clicking the “User Settings” icon next to your initials and selecting Personal access tokens from the drop down.
Fig 3. Personal access tokens area in Azure DevOps
Upon clicking this, you will navigate to a table of existing Personal Access Tokens where you can click “New” to configure a new one. Configure this token as you wish. Fields to note:
- Name is simply the name of the Personal Access Token in Azure DevOps. Provide something sensible.
- Expiration defaults do 30 but you can set to your own desired time frame. We recommend taking note of this date so you can generate a new Personal Access Token when the time comes.
- Scopes has to do with the permissions required by Halo to perform this integration. The functionality simply involves creating and updating work items, so the only permission required is Work Items with Read, Write, & Manage.
Fig 4. Configure Personal access tokens in Azure DevOps
Please note that notes added to work items in Azure DevOps and subsequently synced to a Halo ticket will be attributed to the profile which generated the Personal Access Token. To ensure clarity, it is advisable to use a service account with a generic name to generate the Personal Access Token, minimizing confusion when notes are synchronized back to Halo.
Once the credentials for your connection are saved, you are able to test your connection to ensure everything has been configured correctly.
Fig 5. Test configuration
Syncing Projects from Azure DevOps to Products in Halo
Projects in Azure DevOps translate to Products in Halo. Knowing this, we must enable the Software Releases module in Halo to allow this integration to function. Find the module in Configuration and make certain that it is enabled.
Fig 6. Enable Software Releases Module
Now navigate back to the Azure DevOps integration page’s Projects tab. Here you can click the button Import Projects to sync over the projects in your connected Azure DevOps instance as products in Halo.
Tickets to Work Items
Action Configuration
To perform the creation of a work item in Azure DevOps, you must click a pre-configured action which is set with proper fields and system for syncing. To configure this action, navigate to Configuration > Tickets > Actions and click New in the top right corner to start configuring a new action.
Upon creating a new action, you will be prompted to enter various fields. Below we’ve noted the fields important for this integration.
- Outcome Description
- Text which shows after action has been performed.
- Button Name
- Text which shows on the button of the action.
- Button Icon
- Small picture which shows on the button of the action.
- System Use
- The functionality which tells Halo to create a work item when this action is performed.
- Work Item Type
- Text box allowing you to denote a work item type to be created when this action is performed.
- Is a Quick Action checkbox (Not Required)
- Will perform the action right at button press without prompting agents for fields nor to hit Save.
Ticket type fields required to be filled out in order for a work item to be successfully created from a ticket in Halo:
- Product
- This can be defaulted against the ticket type in Configuration > Tickets > Ticket Types > Click into desired ticket type.
Fig 7. default product for field- Required for Halo to know which project in Azure DevOps to create a work item under.
- You can also set the “Product” field against the bug-creating action and set it as mandatory to ensure this field is filled in prior to completing the action.
Syncing Action Notes to Azure DevOps
It is possible to sync additional action notes from Halo tickets to work items in Azure DevOps. To do this you must perform a preconfigured action with the Send to Azure DevOps checkbox. This must be checked at the time of the action to send the new note to the correlating work item in Azure DevOps.
Fig 8. Send to Azure DevOps field
Please note that it is not possible to push a comment to DevOps in the same action as creating a work item.
Tip: Create an action that has all fields you are syncing between Halo and Azure DevOps. This gives you one place to make any necessary changes in Halo.
Fig 9. Action field list
However, if you're doing this, please note that the Send to Azure DevOps field only controls when a comment is posted to the work item. If adding an action and altering other fields, even if the Send to Azure DevOps is unchecked, Halo will still push changes to other fields to the linked work item.
Syncing to Azure Devops
Navigate to the integration page’s Syncing to Azure DevOps tab and find the Fields to Sync subtitle. Here you can indicate which fields Halo should sync to DevOps as tickets/updated are created and updated. As you add these to the multi-select, you are then prompted to adjust their configuration below.
Fig 10. Fields to sync to Azure DevOps
- Any mapped Fields
- Syncs custom fields.
- Choose product, which field in Halo, and which field in Azure DevOps.
- Area Path
- Work Item categorization field. Links to a category in Halo.
- Choose Area Path value and correlating Halo Category Value.
- Attachments
- Syncs attachments.
- No additional configuration is required.
- Iteration Path
- Work Item categorization field. Links to a category in Halo.
- Choose Iteration Path value and correlating Halo Category Value.
- Priority
- Choose which priority number in Azure DevOps correlates to which priority number in Halo.
- Status
- Choose which Halo status correlates to which Azure DevOps status.
- Start Date
- Syncs start date.
- No additional configuration is required.
- Target Date
- Syncs target date (sometimes called end date).
- No additional configuration is required.
Syncing from Azure DevOps
Now to configure this integration in the other direction! Namely, this would be to create a new ticket in Halo whenever a work item is created and to update Halo tickets which are linked to existing work items if those work items are updated.
You can either configure this using webhooks or our Halo integrator. Webhooks allow for an almost instant sync, whereas the Halo integrator will run the sync on a schedule. The Halo integrator comes with an added benefit of allowing additional filtering.
Webhooks
To do this, you must create two Web Hook Subscriptions in Azure DevOps (one for creation and one for updating). Steps:
- Navigate to an Azure DevOps project.
- Click Project Settings at the bottom-left corner of the screen .
- Click Service Hooks.
- Click the + icon to create a new Subscription.
- Select Web Hooks as the Service type and click Next.
- Set the trigger to Work item created or Work item updated depending on which Web Hook Subscription you are creating. You may set more specific criteria for which work items trigger this new subscription or leave to all. Click Next.
- (1) Is the URL this Web Hook Subscription will push information to and can be found on Halo's Azure DevOps Integration Page's Syncing from Azure DevOps tab by clicking Work Item Updated or Work Item Created. (2) Can be found in Halo’s Azure DevOps Integration Page’s Syncing from Azure DevOps tab. (3) can be found in this same integration page by clicking Edit and Generate to create a new password. Just remember to click Save after you are done.
- Set the rest of the page as follows and click Next.
- Click Test and ensure that connection is successful. Click Save and you’re done!
Please note that the priority field value is not included in the work item created webhook unless manually changed on the new work item screen. To ensure consistent priority syncing, set the default priority of the ticket type in Halo to match the default priority value for work items in DevOps.
Halo integrator
To use this syncing method, enable the checkbox 'Enable the Halo Integrator for the Azure DevOps integration' under the syncing from Azure DevOps tab. Then set the entities you would like to sync. You can choose how far back the sync checks for changes using the filed 'Check for work item updates for Tickets updated in the last X days'. For example, if I enter 5, when the sync runs any changes that have been made to work items in the last 5 days will update the related ticket in Halo, any changes older than 5 days will not update tickets.
To set which product in Halo a work item will be created under, use the work item filters. Found under the 'Syncing from Azure DevOps' tab, here you set filters in the table that will be applied to any work items syncing from Azure into Halo.
To set this up, add a filter to the table and choose which product the filter applies to. Then choose the field you would like to filter by and the operator. The operator determines if all the criteria in the table needs to be matched (AND), or only one criteria in the table needs to be matched (OR), for the filter to apply. Then set the filter type and the value. The available filter fields are:
- ID
- State
- Work Item Type
- Area Path
- Priority
- Changed Date
These filters will only apply to new work items being imported, updates to existing work items will still be imported only for work items linked to Halo tickets.
Note: The Halo integrator must be enabled for the module for these filters to apply
Fig 11. Work items filter table
Halo Configuration
Ticket Type for New Tickets
- Allows you to set which ticket type is initiated in Halo when the Azure DevOps Web Hook Subscription fires.
User for New Tickets
- Allows you to set which user is assigned to new tickets coming from Azure DevOps.
- You can also set this to default to the person who created the work item with below check box.
Fig 12. Additional configuration settings
Popular Guides
- Asset Import - CSV/XLS/Spreadsheet Method
- Call Management in Halo
- Creating a New Application for API Connections
- Creating Agents and Editing Agent Details
- Departments, Teams and Roles
- Halo Integrator
- Importing Data
- Multiple New Portals with different branding for one customer [Hosted]
- NHServer Deprecation User Guide
- Organisation Basics
- Organising Teams of Agents
- Step-by-Step Configuration Walk Through
- Suppliers