Azure DevOps
Installation Guide
This page describes how to integrate Qodo and Azure DevOps.
Before you start
Qodo is built to work natively with Azure DevOps. This integration is designed for Microsoft customers, using Microsoft Entra ID (formerly Azure Active Directory) to authenticate the Qodo application and authorize access to Azure DevOps APIs. It relies on Azure DevOps service hooks and native pull request workflows. Qodo uses ticket information already associated with pull requests, including Azure Boards work items and integrated external ticket systems, to provide additional context and perform ticket compliance checks without requiring separate tools or workflows.
You can configure Qodo for a single repository or project, or expand it across multiple projects within your Azure DevOps organization. Repository-level configuration provides more granular control, while project-level configuration allows you to select which repositories are included.
Setup typically takes around 20 minutes and includes creating a Microsoft Entra ID application, configuring authentication, and setting up webhooks.
Once configured, Qodo will monitor pull requests and publish outputs such as reviews, descriptions, and improvement suggestions directly to your Azure DevOps pull requests.
Prerequisites
To install Qodo on Azure DevOps you need:
A single-tenant Qodo environment configured for Azure DevOps, including the Qodo webhook endpoint, provided by Qodo. Azure connection details (tenant ID, client ID, and client secret) are generated as part of the Microsoft Entra ID application registration during setup. Multi-tenant customers should contact Qodo to discuss the appropriate configuration.
Permissions to create an app registration in Microsoft Entra ID.
Permissions to create users in Microsoft Entra ID and add users to the Azure DevOps organization (Microsoft Entra ID User Administrator and Azure DevOps Organization Owner), and access to the Azure DevOps projects that will be integrated with Qodo.
Step 1: Create an application registration [Microsoft Azure portal]
Sign in to the Microsoft Azure portal.
Use the search bar to navigate to App registrations.
Click New registration and enter the following:
Application Name: Qodo
Supported account types: Select Accounts in any organizational directory (Any Microsoft Entra ID tenant – Multitenant)
Application Logo:
https://www.qodo.ai/wp-content/uploads/2025/03/qodo-logo.svg
Navigate to Manage → Authentication → Add Redirect URL
In the popup, select Web Applications → Web
Enter the following callback URL:
https://register.oauth.app.azure.merge.qodo.ai/oauth/callbackClick Configure.
Navigate to Manage → Certificates & secrets → New client secret
In the popup, add a description and select an expiration.
Click Add to generate a client secret and save the Value. This will not be visible later.

Navigate to Manage → API permissions → Add a permission
In the popup, select the Azure DevOps card.
Add the Azure DevOps permission (
user_impersonation), and grant admin consent for the directory.Click Add permissions.
The Overview page displays all the relevant information for the following steps. Copy and save Application (client) ID and Directory (tenant) ID.

Step 2: Create a new user [Microsoft Azure portal]
In the Microsoft Azure portal, create a new user named
Qodothat will be used as a bot (service) account for Qodo.Navigate to Manage → Users → New user
In the popup, enter the user details and assign it the Cloud Application Administrator role.
Step 3: Create a service account [Azure DevOps]
The Microsoft Entra ID user that authenticates and creates the OAuth token must be the same user
(same email / UPN) that is added to the Azure DevOps organization. If these do not match,
the integration will not work.
When using non-Azure domains (for example, Gmail), Azure may automatically create an
@onmicrosoft.com user. In this case, ensure that the same identity (email / UPN) is used
consistently in both Microsoft Entra ID and Azure DevOps.
Sign in to the Azure DevOps portal (for example,
https://dev.azure.com/<YOUR_ORGANIZATION>).Navigate to Organization settings → Users, and add the
Qodouser created in the previous step to the Azure DevOps organization.Assign the user Access Level: Basic and add it to the Project Administrators group for the project the bot should access.
Step 4: Register the application with Qodo [Qodo]
This step is performed using a Qodo-hosted registration page to connect your Microsoft Entra ID application to your Qodo environment.
Open an incognito or private browser window and verify that no Microsoft account is currently signed in. This step is important to ensure you authenticate using the correct service (bot) account.
Sign in to Microsoft Entra ID using the dedicated service account created in Step 2.
In the same browser window, navigate to:
https://register.oauth.app.azure.merge.qodo.ai/In the registration form, provide the following details from the app registration in the Micrososft Azure portal:
OAuth Application ID from the Overview tab (Application (client) ID)
OAuth Application secret (use the secret value, not the secret ID)
Entra Tenant ID where the application was created (from the Overview tab, Directory (tenant) ID)
Submit the form.
After successful registration, a new window will open displaying a Webhook Secret Token. Save this value securely—you will use it when configuring Azure DevOps webhooks in Step 5.
Step 5: Set up webhooks [Azure DevOps]
Webhooks are required to enable two-way communication, allowing Qodo to receive pull request events from Azure DevOps.
A single-tenant Qodo environment is required.
Navigate to the Azure DevOps project where you want to install Qodo.
Open Project settings → Service hooks.
Create a new Web Hook subscription.
Configure the web hook to trigger on the relevant pull request events, such as:
PR Created
PR Updated
PR Commented
PR Merged
Set the URL to your single-tenant Qodo endpoint (provided by your Qodo contact). The webhook URL should follow this pattern:
qodo-merge.<your-company-name>.st.qodo.aiAdd the following HTTP header:
Click Test to verify that the webhook endpoint is reachable and correctly configured.
Click Finish to create the webhook.
Once configured, the webhook should appear in the Service Hooks list similar to the example below.

Step 6: Verify the installation [Azure DevOps]
Open a new pull request in the configured Azure DevOps project and confirm that Qodo is triggered automatically.
Add a comment to the pull request using one of the supported commands to verify two-way communication:
/improve/describe/ask/review
Last updated