View as Markdown
Jira Service Desk icon

Jira Service Desk ACTION

Create Request

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 always pick the request type deliberately. Use List Sites to get cloudId, List Service Desks to get serviceDeskId, and List Request Types to choose the requestTypeId whose name and description match the user's intent. Call List Request Type Fields to see which fields that request type requires; pass anything beyond summary and description in additionalFieldValues, keyed by Jira field ID. Worked example: on service desk 1, request type 4 ("Onboard new employees") requires summary and also accepts a duedate, so call with Summary Joseph Wilson starts on September 1, Description Needs a laptop and an email account, and Additional Field Values { "duedate": "2026-09-01" }. Optionally attach one or more files at creation time via attachments; to add, replace, or delete attachments on a request that already exists, use Manage Request Attachment instead. Returns the created request including its issueKey and issueId. If attachments is set, the response also includes either an attachments array (on success) or an attachmentError string (if the request was created but the attachment step failed) — the request itself is never rolled back because of an attachment failure. See the documentation
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Jira Service Desk account once, then configure and run Create Request from your backend or agent.

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-request",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    jira_service_desk: { authProvisionId: "apn_xxxxxxx" },
    cloudId: "Cloud ID",
    serviceDeskId: "Service Desk ID",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Create Request inputs
Property Type Description
cloudId Cloud ID string
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.
Required
serviceDeskId Service Desk ID string
The service desk to raise the request in. Use List Service Desks to find valid IDs (e.g. 1).
Required
requestTypeId Request Type ID string
The request type that determines what kind of ticket this is. Use List Request Types to see the types this service desk offers and pick the one matching the user's intent (e.g. 8 for "Report a system problem").
Required
summary Summary string
One-line title of the request, e.g. Laptop won't boot after the latest update. Required by virtually every request type.
Required
description Description string
Body of the request, as plain text.
Optional
additionalFieldValues Additional Field Values object
Any other fields the chosen request type requires or accepts, as a JSON object of Jira field ID to value, e.g. { "duedate": "2026-09-01", "customfield_10052": "Laptop" }. Run List Request Type Fields for the exact fieldIds, which are required, and their schemas. Values that parse as JSON are converted (["a","b"] becomes a list, 5 becomes a number); to keep a numeric-looking value a string, wrap it in quotes ("\"123\""). Keys summary and description given here override the props above.
Optional
requestParticipants Request Participants string[]
Atlassian account IDs to add as participants, e.g. ["5b10a2844c20165700ede21g"]. Run Find Users to turn each name or email address into an accountId; participants are often approvers or managers who are not customers of this desk, which is why this uses the site-wide search rather than Find Service Desk Customers. Not available to users who only have the Service Desk Customer permission, or if the feature is turned off for customers.
Optional
raiseOnBehalfOf Raise On Behalf Of string
Atlassian account ID of the customer to raise this request for, e.g. 5b10a2844c20165700ede21g. Run Find Service Desk Customers with this same Service Desk ID to turn a name or email address into an accountId, which also confirms the person is a customer of this desk; fall back to Find Users if they are not found there. A desk that restricts who may be one of its customers can reject a reporter who is not, so if creation then fails on the reporter field, retry without this field and name the requester in the description instead. Never guess an ID, and never pass a name or email address here. Not available to users who only have the Service Desk Customer permission.
Optional
form Form object
Answers to the form attached to the request type, as { "answers": { "<questionId>": { "text": "..." } } }. Omit any Jira field from additionalFieldValues when it is linked to a form answer here. For answers in ADF, also set isAdfRequest to true.
Optional
isAdfRequest Is ADF Request boolean
Set to true to send rich-text fields (such as description) as Atlassian Document Format objects rather than plain text. Leave unset to send plain strings. When true, do not use the Description prop, which only sends plain text: pass the ADF object as a JSON string under the description key of additionalFieldValues instead. Marked experimental by Atlassian.
Optional
channel Channel string
Extra information about the channel the request came in on. Marked experimental by Atlassian.
Optional
attachments Attachments string[]
File(s) to attach to the request as it's created. Provide file URLs or paths to files in the /tmp directory (e.g. /tmp/myFile.pdf).
Optional
attachmentsPublic Attachments Public boolean
Whether the attached file(s) are visible to the customer who raised the request. Defaults to true; set to false to attach internal-only files.
Optional
syncDir SyncDir dir
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
jira_service_desk-create-request
Version
1.1.1
App
Jira Service Desk
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes