Version ControlIntegrate Azure DevOps

Integrate Azure DevOps

The Azure DevOps integration allows Scrut to monitor user access, repository permissions, and pipeline configurations to ensure secure CI/CD workflows. It tracks project-level roles, validates that pipelines follow secure deployment practices, and generates audit-ready evidence for compliance. In this article, you can learn how to connect your Azure DevOps account with Scrut.

What This Integration Does in Scrut

  • Automated Tests: Runs automated compliance checks that continuously evaluate your configurations against applicable compliance frameworks.
  • User Access Data: Fetches user details, roles, and permissions from Azure DevOps for Access Reviews.
  • Evidence Task: Scrut automatically attaches the evidence to the Code Review Results evidence task on the 15th and last day of the month.

Prerequisites

  • An active Azure DevOps account with admin access
  • Third-party OAuth access enabled at the organization level in Azure DevOps (covered in the setup steps below)

Pro Tip!

Log in to your Azure DevOps account before starting the integration to avoid being prompted to sign in mid-setup.

Permissions and Access Requirements

For Azure DevOps

The following read-only OAuth scopes are requested during the integration:

  • vso.code: Grants Scrut read access to source code and metadata about commits, changesets, branches, and other version control artifacts. Also, grants the ability to search code and be notified about version control events via service hooks.
  • vso.project: Grants Scrut read access to projects and teams.

For Scrut

  • Admin access to Scrut, or a Contributor role with access to the Integration module

Supported Versions

  • Scrut supports the Azure DevOps REST API v1 and v2. Features or data fields introduced in later API versions are not available.

Data Collected

  • Projects: All accessible projects in the connected organization
  • Code Repositories: Repositories within the selected projects
  • Branches: All branches within synced repositories
  • Pull Requests: Used for Code Review evidence collection

Sync Frequency

Data syncs automatically every 24 hours. You can also trigger a manual sync from the Azure DevOps integration settings page in Scrut.

Integration Setup

Step 1: Enable OAuth Access in Azure DevOps

  1. Log in to Azure DevOps and go to Organization Settings.
  2. Navigate to Security, then select Policies.
  3. Turn on the Third-party application access via OAuth toggle.
  4. Repeat steps 1 through 3 for every organization you want to sync with Scrut.

Heads Up!

If this toggle is off, Scrut cannot authenticate with your Azure DevOps account. Confirm it is enabled before proceeding.

Step 2: Connect the Integration in Scrut

  1. Sign in to Scrut and select Integrations from the left navigation menu.

  2. Go to the Integrations Library and select Version Control from the Categories panel.

  3. Find and select Azure DevOps, then click Integrate.

  4. On the Azure DevOps integration page, click Connect.

  5. Scrut redirects you to the Microsoft authentication page. Sign in with your Azure DevOps credentials and click Accept to grant the required permissions.

  6. Watch for the success notification and the Connected status indicator on the integration page.

Step 3: Configure Scope

  1. On the Azure DevOps integration page in Scrut, click Configure Scope.
  2. Select the repositories from which you want to collect pull request evidence.
  3. Click Save.

What Happens Next?

Initial data sync

After setup is complete, Scrut begins syncing data from Azure DevOps automatically. You can monitor sync activity in the Audit Log on the Azure DevOps integration settings page. To trigger an immediate sync, click Sync Now on the integration page.

Review synced data

Navigate to the following locations in Scrut to verify that data has synced correctly:

  • Navigate to Tests to find automated test results tied to your Azure DevOps configurations.
  • Navigate to People → Access Reviews to create an access review to view synced user and access records.
  • Navigate to Compliance → Evidence Tasks and search for the Code Review Results evidence task. Scrut will automatically fetch and attach the required evidence from your Azure DevOps code repositories on the 15th and last day of the month.

Common Errors and Troubleshooting

Authentication failure

Possible solutions:

  • Confirm that you have admin access to the Azure DevOps organization you are connecting.
  • Verify that the Third-party application access via OAuth toggle is enabled under Organization Settings → Security → Policies.
  • Disconnect the integration and reconnect to re-trigger the OAuth flow.

Data not appearing in Scrut

Possible solutions:

  • Confirm that the correct repositories are selected under Configure Scope.
  • Wait up to 24 hours for the first sync to complete, or click Sync Now to trigger a manual sync.
  • Check the Audit Log on the integration page for any error entries.

Integration shows "Not Connected" after setup

Possible solutions:

  • Confirm that you clicked Accept on the Microsoft permissions screen during OAuth.
  • Verify that your Azure DevOps account has admin-level access.
  • Try reconnecting from the Azure DevOps integration page in Scrut.

FAQs

Reach out to support@scrut.io or contact your CSM for further assistance.