# Jira Service Desk — Pipedream Connect

> Work with Jira Service Desk-specific entities, such as requests.

- API slug: `jira_service_desk` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Help Desk & Support
- Website: https://www.atlassian.com/software/jira/service-desk
- Managed OAuth scopes: `read:servicedesk-request` · `manage:servicedesk-customer` · `write:servicedesk-request` · `read:jira:user` · `read:jira-work` · `write:jira-work` · `read:organization:jira-service-management` · `read:me` · `offline_access`
- This page (HTML): https://pipedream.com/apps/jira-service-desk
- Tools: 20 actions · 2 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: jira_service_desk`

```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()

// e.g. run Create Comment on Request:
const result = await mcp.callTool({
  name: "jira_service_desk-create-comment-on-request",
  arguments: {
    cloudId: "Cloud ID",
    requestId: "Request ID",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Jira Service Desk endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.atlassian.com/me

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuYXRsYXNzaWFuLmNvbS9tZQ?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```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-create-comment-on-request",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    jira_service_desk: { authProvisionId: "apn_xxxxxxx" },
    cloudId: "Cloud ID",
    requestId: "Request ID",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (20)

### `jira_service_desk-create-comment-on-request` — Create Comment on Request (Write)

Create a comment on a customer request. See the documentation

Full schema: https://pipedream.com/apps/jira-service-desk/actions/create-comment-on-request.md

### `jira_service_desk-create-incident` — Create Incident (Write)

Creates a new incident request in a Jira Service Desk. Auto-discovers the best-matching request type (prefers types named 'incident' or 'problem') and, if serviceDeskId is omitted, auto-discovers it from the user's existing requests. Use List Sites first to obtain the required cloudId…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/create-incident.md

### `jira_service_desk-create-request` — Create Request (Write)

Creates a customer request (ticket) in a Jira Service Management service desk. This is the single tool for creating any kind of ticket (incident, service request, access request, hardware request, and so on). The kind of ticket is decided by requestTypeId, not by the wording of the summary, so…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/create-request.md

### `jira_service_desk-download-issue-attachment` — Download Issue Attachment (Read-only)

Download the binary content of a Jira Service Desk attachment to the file-stash directory, returning the saved path plus the attachment metadata (filename, mimeType, size). Run List Issue Attachments first to obtain the attachment id, then pass both it and the same issueIdOrKey here. Example…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/download-issue-attachment.md

### `jira_service_desk-find-service-desk-customers` — Find Service Desk Customers (Read-only)

Finds the customers of one service desk by name or email address and returns the accountId of each match. Pick this tool when the person is the one the ticket is being raised for on a service desk you can identify, i.e. to fill raiseOnBehalfOf on Create Request. Natural-language cues: "raise a…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/find-service-desk-customers.md

### `jira_service_desk-find-users` — Find Users (Read-only)

Finds any active user on an Atlassian site by name or email address and returns the accountId of each match. Pick this tool when the person does not have to be a customer of one particular service desk, i.e. to fill requestParticipants on Create Request with an approver, manager, watcher, or agent…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/find-users.md

### `jira_service_desk-get-current-user` — Get Current User (Read-only)

Returns the authenticated user's account_id, display_name, and email from Atlassian. Use this to identify who is logged in, or to filter requests by the current user's account_id. No cloudId required — this uses the Atlassian Identity API directly. See the documentation

Full schema: https://pipedream.com/apps/jira-service-desk/actions/get-current-user.md

### `jira_service_desk-get-request` — Get Request (Read-only)

Fetches the full details of a Jira Service Desk request including its field values and comment thread in a single response. Comments are paginated automatically up to maxResults; the summary says so when the thread was truncated. Use this to summarize a ticket without needing follow-up calls. Use…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/get-request.md

### `jira_service_desk-get-request-status` — Get Request Status (Read-only)

Returns the status history of a Jira Service Desk request: the current status plus previous states with timestamps. The history is paginated automatically up to maxResults. Returns { statuses, truncated }, newest first, where truncated is true when more entries remained unfetched. Use this to…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/get-request-status.md

### `jira_service_desk-list-cloud-id-options` — List Cloud ID Options (Read-only)

Lists the Atlassian sites you can raise requests on, as {label, value} options, to discover the cloudId every other Jira Service Desk tool needs. Takes no input beyond the account. Example: returns [{ "label": "acme", "value": "822faf0d-5427-420e-9016-999d3dc76918" }]. Use List Sites instead if you…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/list-cloud-id-options.md

### `jira_service_desk-list-issue-attachments` — List Issue Attachments (Read-only)

List metadata for every attachment on a Jira Service Desk request. issueIdOrKey accepts either a Jira issue key (e.g. IT-42) or a numeric Jira issue ID (e.g. 10001). Results are paginated automatically up to maxResults. Returns { attachments, truncated }, where each attachment includes id…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/list-issue-attachments.md

### `jira_service_desk-list-my-requests` — List My Requests (Read-only)

Lists Jira Service Desk requests owned or participated in by the current user. Defaults to open requests owned by the current user. Results are paginated automatically up to maxResults. Returns { requests, truncated }, where truncated is true when more requests remained unfetched. Use List Sites…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/list-my-requests.md

### `jira_service_desk-list-request-transitions` — List Request Transitions (Read-only)

Lists the available workflow transitions for a Jira Service Desk request, returning each transition's id and name. Transitions are paginated automatically up to maxResults. Returns { transitions, truncated }, where truncated is true when more transitions remained unfetched. Call this before…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/list-request-transitions.md

### `jira_service_desk-list-request-type-fields` — List Request Type Fields (Read-only)

Lists the fields a given request type accepts, so you can build the additionalFieldValues argument for Create Request in a single pass. Each entry gives the fieldId to use as the key, whether it is required, its jiraSchema (the value format), and any validValues for select-style fields. Use List…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/list-request-type-fields.md

### `jira_service_desk-list-request-types` — List Request Types (Read-only)

Lists the customer request types a service desk offers, with the id, name, and description of each. Call this before Create Request to choose the requestTypeId that matches what the user is asking for: the request type, not the summary wording, decides what kind of ticket gets created. Names vary…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/list-request-types.md

### `jira_service_desk-list-service-desks` — List Service Desks (Read-only)

Lists every service desk on an Atlassian site, with the id and project details of each. Call this to discover the serviceDeskId required by Create Request, List Request Types, and List My Requests when you only know a project name or key. Use List Sites first to obtain the required cloudId. Results…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/list-service-desks.md

### `jira_service_desk-list-sites` — List Sites (Read-only)

Returns all Atlassian cloud sites accessible to the authenticated user. Call this tool first to obtain the cloudId (returned as id) required by every other Jira Service Desk tool. Each site includes its id (cloudId), name, and url. See the documentation

Full schema: https://pipedream.com/apps/jira-service-desk/actions/list-sites.md

### `jira_service_desk-manage-request-attachment` — Manage Request Attachment (Write)

Adds, replaces, or deletes a single attachment on a customer request (ticket) that already exists. To attach file(s) while creating a brand-new request, use Create Request's attachments prop instead — use this tool only for requests that already exist. Set operation to add to attach a new file…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/manage-request-attachment.md

### `jira_service_desk-transition-request` — Transition Request (Write)

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…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/transition-request.md

### `jira_service_desk-update-issue-fields` — Update Issue Fields (Write)

Updates fields on an existing Jira Service Desk request via the Jira platform API. Use this to change the summary, priority, description, or other fields after a request has been created. Use List Sites first to obtain the required cloudId. Use List My Requests or Get Request to find the issueKey…

Full schema: https://pipedream.com/apps/jira-service-desk/actions/update-issue-fields.md

## Triggers (2)

### `jira_service_desk-new-request-created` — New Request Created (Polling)

Emit new event when a customer request is created. See the documentation

Full schema: https://pipedream.com/apps/jira-service-desk/triggers/new-request-created.md

### `jira_service_desk-request-status-updated` — Request Status Updated (Polling)

Emit new event when a customer request is updated. See the documentation

Full schema: https://pipedream.com/apps/jira-service-desk/triggers/request-status-updated.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
