ServiceNow_AzureDevops_Integration_Guide
ServiceNow_AzureDevops_Integration_Guide
Let’s say you’re working in Azure DevOps and you need to integrate with
another team in ServiceNow. An Azure DevOps ServiceNow integration is
what can make everything run way more smoothly.
BOOK A DEMO 2
Table of
contents
04 Why Integrate Azure DevOps with ServiceNow?
34 Conclusion
1.
Why Integrate
Azure DevOps with
ServiceNow?
What is Azure DevOps
Azure DevOps is an outstanding tool that can be used for a range of
purposes, including managing servers and websites, as well as prod-
uct development.
There are all sorts of ways to use it, but it is likely to be used by tech-
nically adept teams working on various kinds of software projects.
There are two versions of it. It can be used in the cloud or teams can
host it on their own server.
It has a marketplace full of apps that let you add features and inte-
grate it with other platforms. It can also be extended directly via its
SDK.
What is ServiceNow?
ServiceNow also has a strong range of capabilities, but where Azure
DevOps caters to developers, ServiceNow is mostly focussed on ser-
vice and support.
BOOK A DEMO 5
Why Integrate Azure DevOps
with ServiceNow?
Often your teams will need to share issues, and the specifics of what
they need to know will differ. Keeping them on the same page without
duplicating or losing information is quite a challenge. So a tool that
can take care of it automatically will be a huge asset.
This data can be exchanged manually but there are several problems
with doing that. It’s time-consuming, some issues may not be passed
on, duplicate information may be shared and data might be passed
in the wrong format, or with the wrong level of detail for the person
receiving it to use.
By letting an integration tool take control of the process, you can save
yourself work and ensure data is exchanged consistently under the
conditions you specify.
BOOK A DEMO 6
2.
How to Choose the
Right Technology
for Setting up an
Azure DevOps
ServiceNow
Integration
There is an increasing number of software integration solutions avail-
able to help you integrate different platforms. When picking one, it is
important to clarify exactly what problems you need to solve. There
are three particular criteria to bear in mind when choosing a solution
for an Azure DevOps ServiveNow integration.
The systems should also allow teams to maintain privacy, so they only
share the information they want to. If a solution can guarantee your
autonomy, then there’ll be no need to leave your familiar environment
even when integrating with other companies and other platforms.
2. Reliability
The integration solution must be able to cope with downtime or prob-
lems on either side of the connection and to recover when things are
back up. Outages happen when working online, and the system should
be capable of rescheduling data exchange without anything being
lost, and without engineers needing to become involved.
3. Flexibility
The teams on either side of the connection will likely discuss their
requirements when the integration is set up, but these will change
over time. They may want to expand the range of data shared or tune
it, as the teams grow and requirements change.
BOOK A DEMO 8
They may also change the format of information entered into their
system. The integration must be able to handle these changes and
adapt to the needs of users on each end of the connection.
BOOK A DEMO 9
Bi-directionally connect your work
across multiple work management
system in real-time
Maximum security due to complete control over the data being shared with the other systems
Set up a synchronization between multiple work management systems. Available for Jira,
Salesforce, Azure DevOps, ServiceNow, Zendesk, GitHub, HP ALM & more
You can install Exalate via the Microsoft Azure marketplace which
will deploy the node onto the Exalate cloud. Alternatively, you can
also install Exalate via Docker, in which case, you can go ahead and
read this.
For the purposes of this guide, we’ll install directly from the market-
place. Read this doc for more information.
First of all, make sure you are logged in as an admin. If you look at
the bottom left of the screen after logging in, there’s a cog icon and
a link saying ‘Organization settings’. You might need to scroll down if
you can’t see it. Click it. On the screen that follows, click ‘Extensions’
in the left-hand menu.
BOOK A DEMO 12
On the extensions screen, click the ‘Browse marketplace’ in the top right.
In the marketplace search field, look for Exalate for Azure DevOps.
BOOK A DEMO 13
Click it and you’ll be taken to its marketplace page. Click the green “Get” but-
ton to install it.
Next, you have to pick an organization to attach your installation to. Choose
one from the drop-down list and click the blue ‘Install’ button.
You’ll also need to request an evaluation license to use Exalate. You can do
that by clicking “Exalate” in the left hand Azure DevOps menu, then clicking
“License details” in Exalate’s menu.
BOOK A DEMO 14
Click on the 30-day trial image and then enter your email into the popup that
appears. You’ll get an email with an evaluation code, which you should copy.
Back in Exalate, in the license details area, click the green “License Key” but-
ton at the bottom left.
You’re now all set on Azure DevOps. When we get to step 3, come back here
to configure your connection.
BOOK A DEMO 15
2. Install Exalate on ServiceNow
Now, we’ll install Exalate on our ServiceNow instance. For more detail,
read this documentation. There are a few different ways to do it, this
guide will take you through one of them.
Once you’ve stored the XML file somewhere safe, log in to your Service-
Now account. In the left-side menu, click the ‘All applications’ icon, if
it isn’t already selected.
BOOK A DEMO 16
Look for the ‘System Update Sets’ entry and click to open it. This menu
can get very crowded, so use the search field to locate it if you have
trouble finding it. Then click ‘Retrieved Update Sets’.
Under the ‘Related Links’ heading, click the text that says ‘Import
Update Set from XML’. Next, click the ‘Choose File’ button and select
the XML file downloaded earlier. Click the ‘Upload’ button to complete
the process.
The Exalate XML file will be uploaded and listed. You should be able
to see it. Click the file and then click the ‘Preview Update Set’. If it
asks you to update your setup, click the ‘Accept remote update’ but-
ton to do so.
Once that’s done, click the ‘Commit Update Set’ button. Exalate is now
installed on ServiceNow. Next, we’ll go over how to set up a connec-
tion between our platforms.
P RO T I P
Our partners are located all over the world in more than 50
countries. They will help you with implementation, support,
and license management for Exalate. They can give a demo,
prepare a PoC, and handle almost any complex use-cases.
FIND A PARTNER
BOOK A DEMO 17
3. Set up a connection between Azure
DevOps and ServiceNow
This step and most of what follows is essentially the same for these
and other platforms, so Exalate allows you to connect multiple plat-
forms very easily once you are familiar with it.
We can create our invitation on either platform. For this example, we’ll
start in Azure DevOps. Find Exalate in the ‘Organization Settings’
under ‘Extensions’.
BOOK A DEMO 18
On the next screen, enter the URL of your destination instance. Again,
that will be our Exalate ServiceNow node. After you enter the URL, a
few more fields will appear.
The Basic mode has predefined mappings and sync rules that cannot
be modified. It is suitable for use cases of basic complexity. Exalate
offers a Free Plan that comes with the Basic mode connection offering
up to 1000 free syncs per month. It is a great way to see how Exalate
works firsthand.
The Script mode allows you to configure each side of the connection
separately using Groovy based scripting. It can be used for advanced
integration cases. With the Script mode you can generate your own
rules and share almost any kind of information with the other side.
You can even upgrade your Basic connection to a Script one anytime
you want!
BOOK A DEMO 19
Basic Mode: enables you to set up a connection for a limited set of issue fields. The
sync rules are generated automatically by Exalate and cannot be modified. These
connections are recommended for use cases with basic synchronization needs.
Script Mode: is a bit trickier, but lets you use more advanced programming logic.
The scripts are groovy-based, so you’ll have ultimate flexibility to define your sync
however you want.
Continue with
the Basic Mode
Select the project on the Azure DevOps side. This will be the project
you want the ServiceNow entities to sync into. Choose the one you
want from the dropdown list and hit ‘Next’.
BOOK A DEMO 20
Exalate will then ask you to verify if you have admin access to the
other side. In our case, it is ServiceNow. Click ‘Yes, I have admin access’
if you have the access. In case you don’t have admin access, an invi-
tation code will be generated for you. Copy this invitation code and
paste it manually on the ServiceNow side. We will see how to do this
in the Script mode.
BOOK A DEMO 21
If you navigate to the ServiceNow side right now you will come across
the same screen asking you to enter the Incident key to sync.
You can also follow the Work Item or Incident by clicking the remote
link generated on the Azure DevOps and the ServiceNow sides.
Using the Basic mode, you can synchronize Work Items or Incidents
as shown above. To sync existing Azure DevOps and ServiceNow enti-
ties you can create triggers or use the ‘Bulk Connect‘ option. We will
cover triggers in detail in a short while.
BOOK A DEMO 22
Continue with
the Scrip Mode
To continue with this mode, select ‘Script’ on the screen to choose the
configuration type and click ‘Next’.
You can give each side of the connection a name, and the names will
be used to generate a name for the connection. You can also give your
connection an optional description.
It is worth thinking about these steps, as when you have several con-
nections it is useful to be able to tell which is which. It also helps other
people who may need to work with these connections later.
BOOK A DEMO 23
You need to pick the project that is going to be synchronized via the
connection. Use the drop-down box to choose from the available pro-
jects and then click the green ‘Initiate’ button.
Exalate will generate an invitation code. Copy this and paste it some-
where safe. You can choose to close the window or click ‘Go to remote’
to go to the ServiceNow instance. For the former approach, you’ll be
taken back to the connections screen where you’ll see your connec-
tion marked as ‘Pending’.
BOOK A DEMO 24
On the next screen, you’ll see a text field. Paste in the invitation code
generated in Azure DevOps. Then click the green ‘Next’ button.
BOOK A DEMO 25
Back in the connection list, we can see our connection is there, with
the details we selected earlier. Now, we will edit the connection and
control what it does, and when it does it.
BOOK A DEMO 26
4. Configure Your Connection to Determine
What Information Gets Shared
In the Azure DevOps connections list, hover the mouse over the con-
nection we just created.
Click the ‘edit’ icon that appears. From here we can edit the synchroni-
zation triggers, which we’ll do in the next step. We can also look at the
sync rules, and view statistics and information about our connection.
The statistics tell us how many issues are under sync, which is a use-
ful way to check that changes we make are working correctly.
We can see a list of outgoing sync rules and incoming sync rules. Since
we are in Azure DevOps, the outgoing sync rules refer to items sent
from Azure DevOps to ServiceNow. The incoming rules refer to items
sent from ServiceNow to AzureDevOps.
BOOK A DEMO 27
Let’s look more closely at the incoming rules in Azure DevOps.
In this case, there are several fields that are mapped directly onto each
other. The summary, description, priority, and labels fields will all be
copied directly when the fields are synced.
You can modify these as required. If you don’t want a field mapped,
delete the relevant line. If you want fields to map differently, change
them. You could map them to a different field, for example by writ-
ing workItem.labels = replica.priority. You could also add specific
text of your own, for example, workItem.description = ‘synced from
ServiceNow’.
BOOK A DEMO 28
5. Set Up Automated Synchronization
Triggers
Now we’ve looked at what we’re sending, we’ll look at how to config-
ure automated synchronization triggers. These set the conditions for
sending items from each platform to the other.
If you aren’t already there from the previous step, log in to Azure
DevOps, and click the ‘edit’ icon on your connection. Make sure the
‘Triggers’ section is selected. Click it if not. You can also click ‘Triggers’
in the left-hand menu.
Now, click the ‘Create trigger’ button. The ‘Add trigger’ dialogue will
appear. You can choose the entity type to work with from the drop-
down box. In this case, we only have one option, ‘Work item’. In other
platforms or projects, you may have other options available to select
from.
In the ‘If’ text field, we can enter a search query that will be used to
select matching items. Our query could be used to exchange all items
of a particular type or from a particular user. We could send urgent
queries or queries that have comments. We can also set up multiple
triggers to send items that match different conditions.
BOOK A DEMO 29
The search query uses Work Item Query Language or WIQL for short.
Check here for a guide to it. Look for the “Filter Conditions (WHERE)”
section of the guide, which is most relevant to what we are doing here.
For this example, let’s create a query that syncs items of the ‘task’
type. To do that, we type the code [Work Item Type] = ‘task’, into the ‘if’
field. This trigger will apply to any item where ‘task’ is set as the type.
You can substitute ‘task’ for any other type, or ‘Type’ for other fields.
BOOK A DEMO 30
There’s also a switch to activate the trigger. You need to click this, or
the trigger won’t do anything. Later, this can be used to quickly switch
existing triggers on or off.
Click the green ‘Add’ button and you’ll see your trigger listed, and active.
Items that meet these criteria will now be synchronized automatically.
BOOK A DEMO 31
4.
Common Pitfalls
to Avoid after
Setting up the
Azure DevOps
ServiceNow
Integration
There are a few things to be aware of when setting up an Azure DevOps
ServiceNow integration that will help you ensure things go as smoothly
as possible.
Role Clarification
As discussed above, Azure DevOps is intended for use by develop-
ers. ServiceNow is for support teams. While it is highly beneficial to
exchange information, there is plenty that you don’t need to share.
Support teams won’t want to know the technical details, and develop-
ers don’t need to know the full history of interactions with customers.
When choosing what fields to sync, be careful to make sure teams get
the information they want. You might want to have a dedicated field
where the support team summarize each issue, rather than pass on
all the customer comments.
BOOK A DEMO 33
5.
Conclusion
As we’ve seen, there are many benefits to an Azure DevOps ServiceNow
integration such as letting teams work more smoothly and efficiently.
There are many things to consider when connecting teams, and tak-
ing careful account of the issues raised here will help your organiza-
tion get the best value possible from their integration.
With care, you can ensure you craft a process that delivers exactly
what you need, making the best use of the information your teams
gather while minimizing the need for maintenance and avoiding prob-
lems with duplication and wasted effort.
We’ve seen how Exalate can bridge the gap between different groups
and help them share information while retaining their autonomy and
giving them enough flexibility to evolve. It does so reliably, allowing
everyone to focus on what they do best.
LEARN MORE
BOOK A DEMO 35
The Leading Cross-Company
Integration Solution
Exalate is the leading and the only solution specifically built for
cross-company integration scenarios with the most complex syn-
chronization use cases.
“
“
The first thing that hits you when using this app is how easy it is to get
a synchronization up and running. By default, everything works so well.
“
With the amazing support team and the flexible capability of Exalate,“
we were able to see it work nicely and become an important part of our
work life cycle.
“
“
Exalate is marketed as the most flexible synchronization tool for issue
trackers and that short definitions is pretty accurate from what we have
observed.