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

# Azure DevOps

> For teams building in Rocket from Azure DevOps: connect for work-item context, then set env vars so your app can call Azure DevOps APIs.

export const LlmsDirective = () => <blockquote className="llms-directive">
    For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
    For a lightweight markdown version of this page, append .md to the URL.
  </blockquote>;

<LlmsDirective />

For teams who plan work in Azure DevOps and build in Rocket. Connect so you can build or fix from a work item or wiki URL and update Azure DevOps from chat. After you set env vars, your app can call Azure DevOps APIs.

<Note>
  You need two pieces: the **connector** (Azure DevOps as generation context for Rocket) and **environment variables plus a PAT** (so your generated app can call Azure DevOps APIs). Connect at **workspace** level (Settings, shared across tasks) or **task** level (Connectors tab or chat).
</Note>

<Note>
  **Before you start:** a Microsoft account with access to the target Azure DevOps organization and project; permission to approve OAuth (or an admin if you see **Need admin approval**); a Personal Access Token you can create (or an admin policy that allows it); and the organization name from `https://dev.azure.com/{organization}` plus the project name for env vars. Use the same organization in **Select Organization** and `AZURE_DEVOPS_ORG`.
</Note>

<Divider />

## What you can do

<CardGroup cols={2}>
  <Card title="Build from a work item" icon="ticket" iconType="solid">
    Paste a user story or task URL. Rocket reads requirements and acceptance criteria, then generates the feature.
  </Card>

  <Card title="Fix a bug from a report" icon="bug" iconType="solid">
    Paste a bug URL. Rocket reads reproduce steps and expected vs actual behavior, then produces a targeted fix.
  </Card>

  <Card title="Build from the current sprint" icon="arrows-rotate" iconType="solid">
    Ask Rocket to read the active sprint and build the highest-priority work first.
  </Card>

  <Card title="Use repo and pull request context" icon="code-branch" iconType="solid">
    Point Rocket at a repository or pull request so new code matches your existing patterns.
  </Card>

  <Card title="Fix a failing pipeline" icon="gears" iconType="solid">
    Paste a failing build URL. Rocket checks the logs and fixes the issue in the app.
  </Card>

  <Card title="Build from a wiki page" icon="book" iconType="solid">
    Paste a wiki URL. Rocket follows the specs on that page when generating the feature.
  </Card>
</CardGroup>

<Divider />

## Connect Azure DevOps

Authorize with Microsoft, then select the organization Rocket should use. You can also connect from [workspace Settings](/getting-started/workspace/connectors).

<Tabs>
  <Tab title="Web Browser">
    <Steps>
      <Step title="Open the overflow menu">
        In the preview toolbar, click the **`...`** button.

        <Frame caption="Open the overflow menu in the preview toolbar">
          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-open-menu-light.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=eef5f4a7f1b6dcdc4eb6436e48c32bd5" alt="Rocket preview toolbar with the three-dot overflow menu highlighted." className="theme-image light-image" width="153" height="65" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-open-menu-light.webp" />

          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-open-menu-dark.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=f26686c43e796478406cd4d1e834bb8b" alt="Rocket preview toolbar with the three-dot overflow menu highlighted." className="theme-image dark-image" width="153" height="65" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-open-menu-dark.webp" />
        </Frame>
      </Step>

      <Step title="Choose Connectors">
        Select **Connectors** from the menu.

        <Frame caption="Choose Connectors from the menu">
          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-choose-connectors-light.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=68396ba6deda330a691569a8e1d363c0" alt="Overflow menu with Connectors highlighted." className="theme-image light-image" width="293" height="114" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-choose-connectors-light.webp" />

          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-choose-connectors-dark.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=5aa9aa3eeec68b322be165eb01b0a1c1" alt="Overflow menu with Connectors highlighted." className="theme-image dark-image" width="293" height="114" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-choose-connectors-dark.webp" />
        </Frame>
      </Step>

      <Step title="Open Azure DevOps">
        Click the **Azure DevOps** card.

        <Frame caption="Open the Azure DevOps connector">
          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-open-connector-light.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=5214451c49ad28ce00a40afa259e1e98" alt="Connectors list with the Azure DevOps card highlighted." className="theme-image light-image" width="890" height="95" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-open-connector-light.webp" />

          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-open-connector-dark.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=a5fdc7407f173a557655cb7b9fd223a7" alt="Connectors list with the Azure DevOps card highlighted." className="theme-image dark-image" width="890" height="95" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-open-connector-dark.webp" />
        </Frame>
      </Step>

      <Step title="Click Connect">
        On the Azure DevOps connector page, click **Connect**.

        <Frame caption="Click Connect on the Azure DevOps connector">
          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-click-connect-light.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=f2597053bc9151b83c30dc401f6aeb5b" alt="Azure DevOps connector detail page with the Connect button highlighted." className="theme-image light-image" width="215" height="115" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-click-connect-light.webp" />

          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-click-connect-dark.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=18b8f6b1e1c606674087b25adf75a4ce" alt="Azure DevOps connector detail page with the Connect button highlighted." className="theme-image dark-image" width="215" height="115" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-click-connect-dark.webp" />
        </Frame>
      </Step>

      <Step title="Authorize with Microsoft">
        A Microsoft sign-in screen opens. Sign in with an account that has access to your Azure DevOps organization, review the permissions Rocket requests, and approve access. You return to Rocket when authorization completes.

        <AccordionGroup>
          <Accordion title="If sign-in or approval fails">
            If Microsoft shows **Need admin approval**, ask your Microsoft Entra admin (your organization’s Microsoft login) to [grant admin consent](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/grant-admin-consent) or [review consent requests](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/review-admin-consent-requests). For OAuth scopes and consent, see [Microsoft Entra OAuth for Azure DevOps](https://learn.microsoft.com/en-us/azure/devops/integrate/get-started/authentication/entra-oauth?view=azure-devops) and the [OAuth scope reference](https://learn.microsoft.com/en-us/azure/devops/integrate/get-started/authentication/oauth?view=azure-devops#available-scopes).
          </Accordion>
        </AccordionGroup>
      </Step>

      <Step title="Select organization">
        Under **Select Organization**, choose which Azure DevOps organization to connect, then confirm. When the connection is active, **Disconnect** is available on the connector page.

        <Frame caption="Select your Azure DevOps organization">
          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-select-org-light.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=ced248beadcf2fd3a900a9731c738713" alt="Azure DevOps connector with Select Organization dropdown highlighted." className="theme-image light-image" width="296" height="106" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-select-org-light.webp" />

          <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/XC_M3Vs05xelK-nr/images/build-docs/connectors/azure-devops/web-browser/azure-devops-select-org-dark.webp?fit=max&auto=format&n=XC_M3Vs05xelK-nr&q=85&s=6ccfc4a7ebf357e9125a00697a1d56d0" alt="Azure DevOps connector with Select Organization dropdown highlighted." className="theme-image dark-image" width="296" height="106" data-path="images/build-docs/connectors/azure-devops/web-browser/azure-devops-select-org-dark.webp" />
        </Frame>

        <AccordionGroup>
          <Accordion title="If you cannot see the organization or project">
            Your account needs access to the organization and project you intend to use. Admins can [add organization users](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/add-organization-users?view=azure-devops) and [grant project access](https://learn.microsoft.com/en-us/azure/devops/organizations/security/add-users-team-project?view=azure-devops). OAuth approval alone does not grant admin rights; see the [Azure DevOps permissions reference](https://learn.microsoft.com/en-us/azure/devops/organizations/security/permissions?view=azure-devops).
          </Accordion>
        </AccordionGroup>
      </Step>
    </Steps>

    <Card title="Disconnect a service" icon="plug" href="/getting-started/workspace/connectors#disconnect-a-service" horizontal arrow="true">
      Disconnect or switch accounts from workspace Settings.
    </Card>
  </Tab>

  <Tab title="Mobile App">
    Tap **More** in the header, then **Integrations**. Open **Azure DevOps**, tap **Connect**, authorize with Microsoft, then select your organization.
  </Tab>
</Tabs>

<Divider />

## Set environment variables

These three values are for the **generated app**, not for signing into the connector. Use the same organization you chose under **Select Organization**.

<AccordionGroup>
  <Accordion title="Create a PAT and find org or project names">
    Create a Personal Access Token in Azure DevOps with Microsoft’s [Personal Access Token guide](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops\&tabs=Windows). If PAT creation or scopes are restricted, see [PAT policies for administrators](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/manage-pats-with-policies-for-administrators?view=azure-devops). The organization name appears in `https://dev.azure.com/{organization}`; the project name is in the project selector and URL. See Microsoft’s guides for [finding organizations](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/get-list-of-organizations-connected-to-microsoft-entra-id?view=azure-devops) and [viewing projects](https://learn.microsoft.com/en-us/azure/devops/organizations/projects/create-project?view=azure-devops#list-projects).
  </Accordion>
</AccordionGroup>

| Variable               | Purpose                                |
| :--------------------- | :------------------------------------- |
| `AZURE_DEVOPS_ORG`     | Azure DevOps organization name         |
| `AZURE_DEVOPS_PROJECT` | Project within that organization       |
| `AZURE_DEVOPS_PAT`     | Personal Access Token for app API auth |

Reference them in server-side code as `process.env.AZURE_DEVOPS_ORG`, `process.env.AZURE_DEVOPS_PROJECT`, and `process.env.AZURE_DEVOPS_PAT`.

<Warning>
  Never paste your Personal Access Token into chat, and never share passwords, OAuth tokens, refresh tokens, client secrets, or PATs with support. Add placeholders in `.env`, then set real values in Environment settings. If a token is exposed, revoke it in Azure DevOps and create a new one.
</Warning>

<Steps>
  <Step title="Add placeholders in `.env`">
    Open the Code tab and add:

    ```plaintext wrap theme={null}
    AZURE_DEVOPS_ORG=your-org
    AZURE_DEVOPS_PROJECT=your-project
    AZURE_DEVOPS_PAT=your-pat-here
    ```
  </Step>

  <Step title="Set real values in Environment">
    Open **Settings → Environment** and fill in Staging and Production for all three variables.
  </Step>

  <Step title="Ask Rocket to use these variables in your app">
    Ask Rocket to use these variables when building Azure DevOps-backed features in your app.
  </Step>
</Steps>

<Card title="Environment variables" icon="key" href="/build/editor/env-variables" horizontal arrow="true">
  How to add and manage Staging and Production values in Rocket.
</Card>

<Divider />

## Example prompts

Pick the tab that matches what you are doing. Paste an Azure DevOps URL when you have one. Review changes in Azure DevOps before sharing; they appear in your org immediately.

<Tabs>
  <Tab title="Boards">
    | Goal               | Say this in chat                                                                                                       |
    | :----------------- | :--------------------------------------------------------------------------------------------------------------------- |
    | Build from a story | `Build the feature described in [ADO_URL]. Read the requirements, acceptance criteria, and linked items first.`        |
    | Fix a bug          | `Fix the bug at [ADO_URL]. Read the steps to reproduce and expected vs actual behavior, then generate a targeted fix.` |
    | See my work        | `Show my assigned Azure DevOps work items in this project and suggest which one to build first.`                       |
    | Search the board   | `Search Azure DevOps for work items about checkout and summarize the open ones.`                                       |
    | Create follow-ups  | `Create Azure DevOps tasks for QA and edge cases from this build, and link them under the parent story.`               |
    | Update and comment | `Move work item [ADO_URL] to Done and leave a comment describing what was built.`                                      |
  </Tab>

  <Tab title="Sprints">
    | Goal                  | Say this in chat                                                                            |
    | :-------------------- | :------------------------------------------------------------------------------------------ |
    | Build from the sprint | `Read my team's current sprint in Azure DevOps and build the highest-priority story first.` |
    | Check the backlog     | `Show the product backlog for our team and summarize what is ready to build.`               |
    | See capacity          | `Check our team's capacity for the current sprint and call out who is overloaded.`          |
    | Set up a sprint       | `Create a two-week sprint named Sprint 24 in Azure DevOps and assign it to our team.`       |
  </Tab>

  <Tab title="Repos">
    | Goal                | Say this in chat                                                                                               |
    | :------------------ | :------------------------------------------------------------------------------------------------------------- |
    | Match existing code | `Use the repository and recent pull requests at [ADO_URL] as context so the new feature matches our patterns.` |
    | Search the codebase | `Search our Azure DevOps repo for how we handle authentication and reuse that approach.`                       |
    | Open a pull request | `Create a branch and open a pull request for the changes we just made, with a clear title and description.`    |
    | Review a PR         | `Read the pull request at [ADO_URL], summarize the discussion, and apply any agreed fixes.`                    |
  </Tab>

  <Tab title="Pipelines">
    | Goal                | Say this in chat                                                                     |
    | :------------------ | :----------------------------------------------------------------------------------- |
    | Fix a failing build | `Read the failing build at [ADO_URL], check the logs, and fix the issue in the app.` |
    | Check status        | `List our pipelines and tell me which builds failed in the last day.`                |
    | Run a pipeline      | `Run the main build pipeline on the branch we just created.`                         |
    | After a build       | `Show the commits and work items associated with build [ADO_URL].`                   |
  </Tab>

  <Tab title="Wiki">
    | Goal                  | Say this in chat                                                                         |
    | :-------------------- | :--------------------------------------------------------------------------------------- |
    | Build from a spec     | `Read the wiki page at [ADO_URL] and build the described feature following those specs.` |
    | Find the right page   | `Search our Azure DevOps wiki for the onboarding runbook and use it as context.`         |
    | Document what shipped | `Create or update a wiki page summarizing what we built and how to try it.`              |
  </Tab>

  <Tab title="Test plans">
    | Goal                        | Say this in chat                                                                 |
    | :-------------------------- | :------------------------------------------------------------------------------- |
    | See coverage                | `List the test plans and suites for this project and summarize what is covered.` |
    | Results from a build        | `Pull the test results from build [ADO_URL] and summarize what failed.`          |
    | Create cases from the build | `Create a test plan with cases and steps that cover the feature we just built.`  |
  </Tab>
</Tabs>

<Divider />

## What's next?

<CardGroup cols={2}>
  <Card title="Jira" icon="jira" href="./jira">
    Prefer Jira for tickets and sprints? Connect it for issue-driven builds.
  </Card>

  <Card title="Linear" icon="list-check" href="./linear">
    Already using Linear? Connect it for bi-directional ticket integration.
  </Card>

  <Card title="GitHub" icon="github" href="/build/connectors/github/overview">
    Push your code to a repository and keep version history.
  </Card>

  <Card title="All connectors" icon="plug" href="/build/connectors/overview">
    Browse every available integration.
  </Card>
</CardGroup>
