For the complete documentation index, see llms.txt. This page is also available as Markdown.

ServiceNow Azure DevOps integration

Integrating ServiceNow and Azure DevOps

Connecting ServiceNow with Azure DevOps links service records with engineering work, keeping IT, support, and development teams aligned. Incidents and change requests reach the development backlog without manual re-entry, and the progress made by engineers flows back to the teams that own the service relationship. Follow this guide to set up bidirectional synchronization between your ServiceNow instance and your Azure DevOps organization.

ServiceNow Azure DevOps Licensing Model

The Getint licensing model for ServiceNow and Azure DevOps covers different integration needs. Here is an overview:

Standard Licensing

  • For non-Jira connectors, we offer a simple license tied to a fixed fee depending on the apps you are syncing.

  • This license covers the integration between 1 instance A (ServiceNow) and 1 instance B (Azure DevOps).

  • No hidden costs. You can sync an unlimited number of work items between these instances.

You can find more information about our pricing structure here: Getint Pricing.

Network License

  • For managed services companies or organizations integrating three or more instances (whether the tools are the same or different), Getint offers a Network License. This custom license covers a specific number of connections (for example, up to 10 instances) and imposes no restrictions on the tools involved. You can also swap the integrated tools while the license remains active.

For more details on licensing, visit our Licensing Page.

ServiceNow Access Requirements

ServiceNow requires a dedicated integration user rather than Admin credentials. That user needs:

  • The itil role, which grants read and write access to records in tables such as Incident, Problem, and Change Request.

  • A custom role with read access to the dictionary, field class, choice, and journal entry tables. Getint reads these tables to retrieve field definitions, choice values, and comment history.

  • A password that does not require a reset at first login.

The full procedure, including screenshots for the user, the custom role, and the ACL records, is available here: Creating a ServiceNow User for Getint Integration.

Requirements to Build Your Integration

  • Deployment Options: Getint provides two ways to host your integration: a managed SaaS platform or a self-hosted On-premise version. More information about Getint On-premise here.

  • Authentication: Azure DevOps requires a Personal Access Token, and ServiceNow requires the username and password of the dedicated integration user. You can find the steps to prepare credentials for both connectors here: Connection Guide. If your instance blocks basic authentication, use ServiceNow OAuth Authentication instead.

  • Service Accounts: Comments are attributed to the user who created the connection, so we recommend using dedicated Service Accounts on both sides to keep automated updates distinct from individual user activity.


Setting Up Your ServiceNow Azure DevOps Integration

1. Access the Getint App

  • Log in at app.live.getint.io. If you do not have an account, click Sign up to create one.

  • Enter your details, select the apps you want to connect, and click Create new workspace.

  • After you create the workspace, go to it to launch Getint.

2. Create an Integration

  • Go to Workflows (lightning bolt icon) and click Create Integration. From this menu, select Continuous Sync or Data Migration.

3. Generate an Azure DevOps Token

To integrate Azure DevOps (Server or Cloud), you must provide a token with the necessary permissions. Follow the steps below to generate one:

  • Log in to your Azure DevOps organization.

  • Open User Settings from the profile menu.

  • Select Personal Access Tokens from the left sidebar.

  • Click New Token and enter a name for the token.

  • Set the expiration and select the appropriate scopes:

    • Work Items: Read & Write

    • Project and Team: Read & Write

    • Graph: Read (required for accurate user data retrieval)

    • Code: Read (if you are syncing repositories with the Git Connector)

  • Click Create, then copy and securely store the generated token. This token authenticates and authorizes Getint to access your Azure DevOps organization.

  • When configuring the Azure DevOps connection details in Getint, provide the generated token as the password.

4. Create a ServiceNow User for Getint

Instead of using Admin credentials, create a dedicated ServiceNow user with scoped permissions:

  • Create the user: In ServiceNow, go to All > User Administration > Users, click New, fill in the user details, and click Submit. Then click Set Password to generate credentials.

  • Create a custom role: Go to System Security > Users and Groups > Roles, click New, name the role (for example, getint), and click Submit.

  • Elevate to Security Admin: Click your profile image, select Elevate Role, choose security_admin, and click Update. This step is required to modify ACL settings.

  • Create 6 ACL records: Go to System Security > Access Control (ACL) and create the following permission records, adding your custom role to the Requires Role section of each:

Record
Table
Field
Operation

1

Dictionary Entry (sys_dictionary)

* (Asterisk)

Read

2

Dictionary Entry (sys_dictionary)

None

Read

3

Field Class (sys_glide_object)

* (Asterisk)

Read

4

Choice (sys_choice)

* (Asterisk)

Read

5

Field Class (sys_glide_object)

None

Read

6

Journal Entry (sys_journal_field)

None

Read

  • Assign roles to the user: Go back to User Administration > Users, find your user, open the Roles tab, click Edit, and add both the itil role and your custom role. Click Save, then Update.

5. Connect to Azure DevOps

  • In Getint, click Connect App and choose Azure DevOps, then select Create a new connection. Enter the URL for the connection and click Next.

  • Provide a name for the connection, enter your email, and paste the token generated in the previous steps. Click Add to complete.

  • Once the connection is established, select the Azure DevOps project you want to synchronize from the dropdown menu and click Connect.

6. Connect to ServiceNow

  • Click Connect App and choose ServiceNow. Enter your ServiceNow instance URL and click Next.

  • Provide a name for the connection, then enter the username and password of the integration user.

  • Click Add to create the connection, then select it.

7. Configure Type Mapping

  • Quick Build: Automatically map fields and types between applications with this feature.

  • Manual Mapping: Use this option for full control over the integration. Click + Add Type Mapping to define how your types map between systems. This could include:

    • ServiceNow Incident to Azure DevOps Bug.

    • ServiceNow Change Request to Azure DevOps Task.

8. Field Mapping

  • Review or manually map fields within mapped types, including short description, description, priority, and assigned to.

  • Define the synchronization flow for each field, using the arrows in the middle and selecting Apply.

  • If a field you need does not exist yet on the ServiceNow side, see Creating a Custom Field in ServiceNow.

9. Assignee Mapping

Use the assignee mapping option to match ServiceNow users (assigned to) with Azure DevOps users, which keeps ownership of work items accurate on both sides. This step matters most when usernames or email formats differ between the two platforms. For more details, visit our doc: Assignees (users) mapping.

10. Status Mapping

  • Go to the Status tab and map status fields to align between ServiceNow and Azure DevOps. For example, ServiceNow New could be mapped to Azure DevOps New, ServiceNow In Progress to Azure DevOps Active, ServiceNow Resolved to Azure DevOps Resolved, and ServiceNow Closed to Azure DevOps Closed.

  • You can also configure the status direction to support unidirectional transitions instead of bidirectional updates.

Azure DevOps state names depend on the process template applied to your project (Agile, Scrum, CMMI, or Basic), so map against the states available in your own project rather than the example above.

11. How to Manage Comments & Attachments

  • The Comments & Attachments tab is enabled by default. You can configure these settings to match your organization's needs, such as selecting unidirectional or bidirectional sync and filtering by criteria like creation date, author, or visibility (public/private).

  • Use the Customize comments creation setting to manage how comments are processed. You can set comments to Public or Private, or choose to skip them entirely.

  • To synchronize attachments, toggle on the Synchronize attachments setting and choose the sync direction between bidirectional, App A (left), or App B (right).

For a full overview of filtering logic, AND/OR conditions, and date-based filtering, refer to the Comments Filtering documentation.

12. Advanced Tab

Enable Customize create/update actions to manage item synchronization. This allows for specific rules, such as one-way creation for the left application combined with bidirectional updates.

13. Filtering

It is possible to filter the synchronization to have it customized for your needs and requirements. Please see the doc Items Filtering for more details.

UI Filtering Option:

  • Click on the filtering icon near the app icon in your integration. This will apply to that side of the integration.

  • Select whether the filtering applies to All, New, and Synced items.

  • Note that if the option New items is selected, the filtering will apply only to the new items, and the already synced items will continue to sync and update. If the option Synced items is selected, only the already synced items will be updated based on that filter.

  • Choose the options and add the value for the filter. It is possible to filter more than one option for each field.

  • Select Apply after creating the filters, and Save the integration.

A common ServiceNow filter restricts the sync to incidents belonging to a specific Assignment Group, so a single Azure DevOps project receives only the records that the development team owns.

14. Test the Integration

Before deploying the integration to your production environment, perform a verification cycle to confirm data flows correctly between ServiceNow and Azure DevOps.

Verification Steps

  • Initial Creation:

    • Create a test incident in ServiceNow.

    • Create a test work item in Azure DevOps.

    • Confirm that the counterparts appear on the opposite side according to your mapping rules.

  • Field & Feature Validation:

    • Updates: Modify a mapped field and confirm the change is reflected in the linked item.

    • Comments & Attachments: Add a comment or upload a file to verify the sync direction and visibility.

    • Status Transitions: Change the status on one side and verify the linked item updates accordingly.

  • Audit Logs:

    • Access the Logs tab within the platform.

    • Review the entries to confirm successful executions and identify any potential mapping errors or permission conflicts.

If records stop syncing after a successful test cycle, a ServiceNow business rule may be overwriting the values Getint sends. See Troubleshooting Conflicting Business Rules for ServiceNow Integration.

Conclusion

Following this guide lets you set up the ServiceNow-Azure DevOps integration with Getint. This configuration synchronizes incidents, work items, comments, and status changes across your service management platform and your development platform, so service teams and engineering teams work from the same information.

For further assistance, please contact us at the Support Center or Schedule a Demo.

Last updated

Was this helpful?