# Transition Request — Jira Service Desk

> Transitions a Jira Service Desk request to a new workflow status. Use List Request Transitions first to get valid transitionId values for the request. Use List Sites to obtain the required cloudId. Use List My Requests or Get Request to…

- Key: `jira_service_desk-transition-request`
- Type: Action (Write)
- Version: 0.1.5
- App: Jira Service Desk (`jira_service_desk`) — https://pipedream.com/apps/jira-service-desk.md
- This page (HTML): https://pipedream.com/apps/jira-service-desk/actions/transition-request
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/jira_service_desk/actions/transition-request/transition-request.mjs

## Description

Transitions a Jira Service Desk request to a new workflow status. Use **List Request Transitions** first to get valid `transitionId` values for the request. Use **List Sites** to obtain the required `cloudId`. Use **List My Requests** or **Get Request** to find the `issueKey` (e.g. `IT-42`). Optionally include a comment to explain the transition. [See the documentation](https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-request/#api-rest-servicedeskapi-request-issueidorkey-transition-post)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `cloudId` | `string` | Yes | The Atlassian site (cloud) ID, e.g. 822faf0d-5427-420e-9016-999d3dc76918. Run List Sites to get the id of every site you can access. |
| `issueIdOrKey` | `string` | Yes | The ID or key of the Jira Service Desk request (e.g. IT-42 or 10001). Use List My Requests to find the issueKey of a request (in its requests array). |
| `transitionId` | `string` | Yes | The ID of the transition to perform. Use List Request Transitions to retrieve available transition IDs and names (in its transitions array). |
| `additionalComment` | `string` | No | Optional comment to add when performing the transition. |

## 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": "jira_service_desk",
      },
    },
  },
)

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: "jira_service_desk-transition-request",
  arguments: {
    cloudId: "Cloud ID",
    issueIdOrKey: "Issue ID or Key",
  },
})
```

**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: "jira_service_desk-transition-request",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    jira_service_desk: { authProvisionId: "apn_xxxxxxx" },
    cloudId: "Cloud ID",
    issueIdOrKey: "Issue ID or Key",
  },
})

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": "jira_service_desk-transition-request",
    "configured_props": {
      "jira_service_desk": { "authProvisionId": "apn_xxxxxxx" },
      "cloudId": "Cloud ID",
      "issueIdOrKey": "Issue ID or Key"
    }
  }'
```

---

- App: https://pipedream.com/apps/jira-service-desk.md · All apps: https://pipedream.com/apps
