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

# Azure DevOps

> Configure Azure DevOps PAT connections in Genesis so agents can work with Azure DevOps Repos, Boards, Pipelines, Classic Releases, and Wikis.

## Overview

Azure DevOps appears in **Config -> Connections** under the **Git and code**
category. Genesis currently supports one saved mode for Azure DevOps:

* `pat` for a Personal Access Token-backed connection.

After setup, Genesis tests the connection by calling the Azure DevOps
projects API for the configured organization. A successful test confirms that
the PAT can reach the org and read at least the projects endpoint.

## Setup workflow

<Steps>
  <Step title="Open the Azure DevOps connector">
    Go to **Config -> Connections**, choose **Git and code**, then select
    **Azure DevOps**.
  </Step>

  <Step title="Choose Personal Access Token mode">
    Azure DevOps currently uses the saved **Personal Access Token** mode only.
  </Step>

  <Step title="Enter the connection details">
    Provide the Azure DevOps organization, optional server URL for
    Azure DevOps Server or Data Center, an optional default project, and the
    PAT.
  </Step>

  <Step title="Test and save">
    Run **Test Connection**, verify Genesis can reach the organization, then
    save the connection. If you want Azure DevOps tools to use it
    automatically, set it as your **My default** or a **Role default** for
    `azure_devops`.
  </Step>

  <Step title="Optional: enable assignment automation">
    To have Genesis automatically pick up Azure Boards work items assigned to
    the connection identity, open the connection modal's **Automation** tab.
    See [Azure DevOps Automation (Assignment Intake)](/docs/Setup/Azure-DevOps-Automation).
  </Step>
</Steps>

<Note>
  If your deployment uses outbound allowlists or external access controls,
  allow Genesis to reach `dev.azure.com`, `ssh.dev.azure.com`,
  `vssps.dev.azure.com`, `vsrm.dev.azure.com`, `almsearch.dev.azure.com`
  (wiki full-text search on Azure DevOps Services), and `advsec.dev.azure.com`
  (Advanced Security alerts on Azure DevOps Services). If you use the optional
  `endpoint` field for Azure DevOps Server or Data Center, allow that HTTPS
  host as well.
</Note>

<Note>
  The `pat` mode is PAT-class. Roles need `access_pat_connections_git` to
  create, update, or test Azure DevOps PAT connections.
</Note>

<Tip>
  For a **Shared connection**, administrators can set **Personal credentials**
  to `optional` or `required` and let each user bind their own Azure DevOps PAT
  from the key action on the connection row. The binding uses the `pat` field;
  user-attributed operations use the bound PAT when available. Background
  operations continue to use the shared/service credential. See [Personal
  credentials on shared connections](/docs/Setup/Connections#personal-credentials-on-shared-connections)
  for the policy behavior.
</Tip>

## Connection fields

| **Field** | **Type** | **Required** | **Default** | **Notes** |
| - | - | - | - | - |
| **`organization`** | String | Yes | none | Azure DevOps organization name from `https://dev.azure.com/{organization}`. Genesis shows the placeholder `mycompany`. |
| **`endpoint`** | String | No | `https://dev.azure.com` when blank | Use only for Azure DevOps Server or Data Center. Leave blank for Azure DevOps Services. The value must use `https://`. |
| **`project`** | String | No | none | Optional default project slug. Boards, YAML Pipelines, Classic Releases, and repo actions can fall back to this value when you do not pass an explicit `project`. |
| **`pat`** | String | Yes | none | Personal Access Token. Genesis shows the placeholder `Generate at dev.azure.com/{org}/_usersSettings/tokens`. |

<Tip>
  Required PAT scopes: Work Items (Read/Write), Code (Read/Write/Manage),
  Build (Read/Execute), Release (Read/Write/Execute), Identity (Read),
  Project & Team (Read), Wiki (Read) plus Wiki (Read & Write) for wiki page
  authoring, Advanced Security (alerts read). Generate tokens at
  `dev.azure.com/{org}/_usersSettings/tokens`.
</Tip>

<Tip>
  Set `project` when most of your Azure DevOps work happens in one project.
  If you leave it blank, repo, Boards, YAML Pipelines, and Classic Release
  actions that require a project must pass one explicitly.
</Tip>

## What it enables

After setup, Genesis can:

* use `git_action` for Azure DevOps remote repository and pull request flows,
* use `azure_devops_repos_tools` to list repositories and branches, read files
  and directory trees, search code by text or regex, inspect commits and diffs,
  review pull requests and policy statuses, and read Advanced Security alerts,
* use `azure_devops_boards_tools` to create, update, retrieve, and search
  work items, and
* use `azure_devops_pipelines_tools` to run YAML pipelines, poll pipeline
  runs, fetch run logs, and list, trigger, and poll Classic Releases, and
* use `azure_devops_wiki_tools` to search, read, list, create or update, and
  inspect Azure DevOps wiki pages (project and code wikis), revision history,
  attachments, and page metadata with work-item links.

## Related pages

* [Azure DevOps Automation (Assignment Intake)](/docs/Setup/Azure-DevOps-Automation)
* [Connections](/docs/Setup/Connections)
* [Azure DevOps Repos Tools](/docs/Genbot-Toolkit/Azure-DevOps-Repos-Tools)
* [Azure DevOps Boards Tools](/docs/Genbot-Toolkit/Azure-DevOps-Boards-Tools)
* [Azure DevOps Pipelines Tools](/docs/Genbot-Toolkit/Azure-DevOps-Pipelines-Tools)
* [Azure DevOps Wiki Tools](/docs/Genbot-Toolkit/Azure-DevOps-Wiki-Tools)
* [Git Action Tools](/docs/Genbot-Toolkit/Git-Action-Tools)
