# List Work Item Revisions — Azure DevOps

> List the revision history of a work item, one entry per change. Returns each revision's field values at that point in time. Use this to answer who changed what and when, or to reconstruct how long an item sat in a state. Example: work item…

- Key: `azure_devops-list-work-item-revisions`
- 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-work-item-revisions
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/azure_devops/actions/list-work-item-revisions/list-work-item-revisions.mjs

## Description

List the revision history of a work item, one entry per change. Returns each revision's field values at that point in time. Use this to answer who changed what and when, or to reconstruct how long an item sat in a state. Example: work item `299`. 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/wit/revisions/list?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. |
| `workItemId` | `integer` | Yes | Numeric ID of the work item. Run the Query Work Items (WIQL) action first to obtain valid values. |
| `expand` | `string` | No | Additional work item attributes to include in each revision |
| `limit` | `integer` | No | Maximum number of revisions 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-work-item-revisions",
  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-work-item-revisions",
  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-work-item-revisions",
    "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
