Azure DevOps
Note: Azure DevOps integrations require a Pro plan. If you haven't upgraded yet, please upgrade your plan here.
This guide explains how to prepare your Azure DevOps environment so SolidityScan can scan your repositories.
Prerequisites
Before connecting SolidityScan to Azure DevOps, complete the steps below in order.
Step 1 - Create User in Microsoft Entra (Azure AD)
Create a dedicated service user for SolidityScan integration.
Open Microsoft Entra Admin Center: https://entra.microsoft.com
Navigate to: Users β New user β Create new user
Create a dedicated user, for example:
[email protected]
IMPORTANT: The account used to connect Azure DevOps must be an Entra (Azure AD) work user, not a personal Microsoft account.
Also ensure:
User type = Member (not Guest)
This user will later appear inside Azure DevOps automatically once invited
Step 2 - Add User to Azure DevOps Organization
Add the Entra user into your Azure DevOps organization.
Open your Azure DevOps organization:
https://dev.azure.com/YOUR_ORGNavigate to: Organization Settings β Users β Add users
Add the Entra user you created.
CRITICAL: Access Level must be Basic.
When adding the user, use these settings:
User Type
Member
Access Level
Basic (required)
Do not select Stakeholder - this access level will cause integration failures.
Step 3 - Give Project Access
Grant the service user access to the specific project.
Navigate to: Project Settings β Permissions β Contributors group
Click: Members β Add β Add the user
This grants project-level access to the SolidityScan service user.
Step 4 - Give Repository Permissions
VERY IMPORTANT: This step is commonly missed and will cause scan failures even when OAuth is working.
Navigate to: Project Settings β Repositories β Your Repository β Security
Search for and add the user:
[email protected]Set the following permissions to Allow:
Read
Allow
Contribute
Allow
Read & execute
Allow
View project-level information
Allow
Minimum requirement: Repo Read access must be allowed. Without repo permission, OAuth works but repo APIs return 401 Unauthorized.
Step 5 - Allow Third-Party OAuth Apps
Navigate to: Organization Settings β Policies
Enable: Allow third-party application access via OAuth
This allows SolidityScan to authenticate and access Azure DevOps on behalf of the connected user.
Step 6 - Connect Azure DevOps in SolidityScan
In the SolidityScan application:
Log in to SolidityScan
Go to Integrations
Click Connect Azure DevOps
Log in using the Entra user created in Step 1
Accept the required permissions
Step 7 - Final One-Time Authorization
After connecting, open your Azure DevOps organization at least once in a browser:
https://dev.azure.com/YOUR_ORG
This completes the OAuth authorization flow.
Where Will the User Appear?
After setup, the service user exists in two places:
Microsoft Entra
Identity and login account
Azure DevOps Organization
Repository and project access
Both are required for a successful integration.
Common Errors and Causes
401 Unauthorized
Access level is not set to Basic
Repository not visible
User not added to repository security
Repository list empty
User was added as Guest instead of Member
OAuth works but scan fails
Repository permission not configured
Final Checklist
Before connecting SolidityScan, confirm all of the following:
Last updated