# How to Connect Teamscale to Azure DevOps Git

Screenshot of the Azure DevOps Plugin's Findings Badge

Teamscale integrates with Azure DevOps Server and Azure DevOps Services using the available API and web hooks. No global configuration is required. To connect a project to code from an Azure DevOps Git project, follow these steps:

TIP

Git URLs in Azure DevOps usually look like this: https://dev.azure.com/{organization}/{project}/_git/{repository}.

It is common to work on one or more projects within a single organization. Each project can have multiple Git repositories. The default Git repository has the same name as the project.

Make sure you identify the relevant parts of the repository you want to connect to before starting with this How-To.

  1. Ensure that the Teamscale instance base URL is configured correctly.

  2. Select the Azure DevOps Git connector during project creation.

  3. Select or create an account for the Azure DevOps instance. The account's fields should be filled out as follows:

    • URI: The URI is set according to the type of the Azure DevOps instance

      • Azure DevOps Services: https://dev.azure.com/{organization}
      • Azure DevOps Server: https://{instance}/{collection}
    • Username: The username can be empty; it will be ignored.

    • Password: The password is a personal access token with Code (read and write) permissions.

    WARNING

    Entering the user's password will not work. You must use a personal access token.

  4. Complete project creation as usual, by providing the names of the Azure DevOps project and repository separated by a slash: {project}/{repository}

    Even if the project and repository names are the same, the input must be in above format (e.g., MyProject/MyProject).

As the first step during project creation, Teamscale will register its web hook with the Azure DevOps Server. After this, Teamscale will automatically be informed about events in the project, such as pushes to the repository and changes to pull requests.

# Configuring Teamscale as a required check

If Teamscale is configured to vote on pull requests, you can require that all findings are addressed before a pull request is merged:

  1. In Azure DevOps, go to Project Settings > Repositories and select the repository connected to Teamscale.

  2. Select Policies and the default integration branch, e.g. master.

  3. Add a new Status Check and select Teamscale from the dropdown.