> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Prerequisites for connecting to an Azure DevOps repository

export const maia_0 = undefined

export const designer = "Designer";

export const maia = "Maia";

<Info>
  This feature is available to customers on specific editions. Visit the {maia_0} [Pricing](https://www.maia.ai/pricing) page to learn more about each edition.
</Info>

Connecting an Azure DevOps repository to {maia} is a multi-step process with certain prerequisite actions. Read on to learn what steps you need to take for a successful connection.

<Note>
  * To install the {maia} Azure application in your tenant, you'll need to log in with a work/business or school account. For more information about how the {maia} Azure app works, read [Apps with users in other tenants or other consumer accounts](https://learn.microsoft.com/en-us/security/zero-trust/develop/identity-supported-account-types#apps-with-users-in-other-tenants-or-other-consumer-accounts).
  * You may need to confirm with your Azure tenant admins that you can install the {maia} Azure app and create a repository.
</Note>

***

## 1 - Install the Maia app in your Azure tenant

You need to install the {maia} app in the Azure tenant that will host the repository to be connected to your {designer} project. To do this, follow the steps at [Installing the {maia} app in Azure DevOps](/docs/guides/installing-matillion-app-azure-devops).

To confirm that the {maia} app has been installed in your tenant, visit the [Enterprise Applications blade in the Azure Portal](https://portal.azure.com/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview), and search for an application named `Maia for Azure DevOps`.

***

## 2 - Create a new Azure DevOps repository

In the Azure DevOps organization you wish to use within {maia}, create a new repository in your chosen project. Initialize the repository by adding a README file. This will automatically set `main` as the default branch.

<Note>
  A branch called `main` is required, but it does not have to be the default branch.
</Note>

### Want to use an existing repo?

If you already have an existing Azure DevOps repository, you can connect that repository to your {maia} project, too. Once you complete the authorization between Azure and {maia}, you'll see your existing repositories in the **Project repository** drop-down menu. If you choose an existing repository, all existing branches will be visible in your branch list in the [Branches](/docs/guides/branches) tab.

***

## 3 - Set up Azure DevOps project/repository roles

There are many ways to control access of users to specific Azure DevOps projects and repositories. This topic is not a primer on Azure access controls; however, you can read more about [Azure Permissions and Access](https://learn.microsoft.com/en-us/azure/devops/organizations/security/about-permissions?view=azure-devops\&tabs=preview-page) in the Microsoft documentation.

For a user to be able to select an Azure DevOps repository when choosing the destination in {maia}, they will need to be a member of the `Contributor` security group and be granted `Basic` access at minimum. Or, if custom security groups are used, then the user will need Read + Write permissions on the DevOps repository, project, or organization.

***

## 4 - Set up project access in Designer (optional)

If you wish to collaborate with other {maia} users on the same project, add them to your project by following the instructions at [Project roles](/docs/administration/project-roles). Make sure these users are members of the same Azure DevOps organization that is connected to the Azure tenant where the {maia} app is installed, and where you created the repository that you connected to your project.

***

## Related pages

* [Installing the {maia} app in Azure](/docs/guides/installing-matillion-app-azure-devops)
* [Troubleshooting Azure DevOps repository connection](/docs/guides/troubleshooting-azure-devops-repository-connection)
