# List Pull Requests — Azure DevOps

> List a repository's pull requests, optionally filtered by status, creator, reviewer or branch. Returns each pull request's id, title, status, source and target branches. Use this to find open review work or to check whether a branch…

- Key: `azure_devops-list-pull-requests`
- Type: Action (Read-only)
- Version: 0.0.2
- App: Azure DevOps (`azure_devops`) — https://pipedream.com/apps/azure-devops.md
- This page (HTML): https://pipedream.com/apps/azure-devops/actions/list-pull-requests
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/azure_devops/actions/list-pull-requests/list-pull-requests.mjs

## Description

List a repository's pull requests, optionally filtered by status, creator, reviewer or branch. Returns each pull request's id, title, status, source and target branches. Use this to find open review work or to check whether a branch already has a pull request. Example: status `active` targeting `refs/heads/main`. Returns at most **Limit** results per call - if that many come back there may be more, so raise **Skip** by **Limit** and call again to page through the rest. [See the documentation](https://learn.microsoft.com/en-us/rest/api/azure/devops/git/pull-requests/get-pull-requests?view=azure-devops-rest-7.1)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `organization` | `string` | Yes | Name of the organization Options are loaded from the connected account. |
| `project` | `string` | Yes | Project ID or project name. Run the List Projects action first to obtain valid values. |
| `repositoryId` | `string` | Yes | Repository ID or repository name. Run the List Repositories action first to obtain valid values. |
| `status` | `string` | No | Only return pull requests in this status. Defaults to active. |
| `creatorId` | `string` | No | Only return pull requests created by this identity GUID, e.g. d6245f20-2af8-44f4-9451-8107cb2767db. Run the List Users action first to obtain valid values. |
| `reviewerId` | `string` | No | Only return pull requests this identity GUID is a reviewer on, e.g. d6245f20-2af8-44f4-9451-8107cb2767db. Run the List Users action first to obtain valid values. |
| `sourceRefName` | `string` | No | Only return pull requests originating from this fully qualified branch name, e.g. refs/heads/feature/login |
| `targetRefName` | `string` | No | Only return pull requests targeting this fully qualified branch name, e.g. refs/heads/main |
| `limit` | `integer` | No | Maximum number of pull requests to return (1-1000) |
| `skip` | `integer` | No | Number of results to skip before returning matches. Use with Limit to page through results. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "azure_devops",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "azure_devops-list-pull-requests",
  arguments: {
    organization: "Organization",
    project: "Project",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "azure_devops-list-pull-requests",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    azure_devops: { authProvisionId: "apn_xxxxxxx" },
    organization: "Organization",
    project: "Project",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "azure_devops-list-pull-requests",
    "configured_props": {
      "azure_devops": { "authProvisionId": "apn_xxxxxxx" },
      "organization": "Organization",
      "project": "Project"
    }
  }'
```

---

- App: https://pipedream.com/apps/azure-devops.md · All apps: https://pipedream.com/apps
