Skip to content

Function: createCustomerRequest() ​

ts
function createCustomerRequest(
   client, 
   parameters, 
   options?
): Promise<{
[key: string]: unknown;
  _expands?: string[];
  _links?: {
   [key: string]: unknown;
     agent?: string;
     jiraRest?: string;
     self?: string;
     web?: string;
  };
  actions?: {
   [key: string]: unknown;
     addAttachment?: {
      [key: string]: unknown;
        allowed?: boolean;
     };
     addComment?: {
      [key: string]: unknown;
        allowed?: boolean;
     };
     addParticipant?: {
      [key: string]: unknown;
        allowed?: boolean;
     };
     removeParticipant?: {
      [key: string]: unknown;
        allowed?: boolean;
     };
  };
  attachments?: {
   [key: string]: unknown;
     _expands?: string[];
     _links?: {
      [key: string]: unknown;
        base?: string;
        context?: string;
        next?: string;
        prev?: string;
        self?: string;
     };
     isLastPage?: boolean;
     limit?: number;
     size?: number;
     start?: number;
     values?: object[];
  };
  comments?: {
   [key: string]: unknown;
     _expands?: string[];
     _links?: {
      [key: string]: unknown;
        base?: string;
        context?: string;
        next?: string;
        prev?: string;
        self?: string;
     };
     isLastPage?: boolean;
     limit?: number;
     size?: number;
     start?: number;
     values?: object[];
  };
  createdDate?: {
   [key: string]: unknown;
     epochMillis?: number;
     friendly?: string;
     iso8601?: string;
     jira?: string;
  };
  currentStatus?: {
   [key: string]: unknown;
     status?: string;
     statusCategory?: string & object | "NEW" | "DONE" | "UNDEFINED" | "INDETERMINATE";
     statusDate?: {
      [key: string]: unknown;
        epochMillis?: number;
        friendly?: string;
        iso8601?: string;
        jira?: string;
     };
  };
  issueId?: string;
  issueKey?: string;
  participants?: {
   [key: string]: unknown;
     _expands?: string[];
     _links?: {
      [key: string]: unknown;
        base?: string;
        context?: string;
        next?: string;
        prev?: string;
        self?: string;
     };
     isLastPage?: boolean;
     limit?: number;
     size?: number;
     start?: number;
     values?: object[];
  };
  reporter?: {
   [key: string]: unknown;
     _links?: {
      [key: string]: unknown;
        avatarUrls?: Record<string, string>;
        jiraRest?: string;
        self?: string;
     };
     accountId?: string;
     active?: boolean;
     displayName?: string;
     emailAddress?: string;
     key?: string;
     name?: string;
     timeZone?: string;
  };
  requestFieldValues?: object[];
  requestType?: {
   [key: string]: unknown;
     _expands?: string[];
     _links?: {
      [key: string]: unknown;
        self?: string;
     };
     canCreateRequest?: boolean;
     description?: string;
     fields?: {
      [key: string]: unknown;
        canAddRequestParticipants?: boolean;
        canRaiseOnBehalfOf?: boolean;
        requestTypeFields?: object[];
     };
     groupIds?: string[];
     helpText?: string;
     icon?: {
      [key: string]: unknown;
        _links?: {
         [key: string]: unknown;
           iconUrls?: Record<string, string>;
        };
        id?: string;
     };
     id?: string;
     issueTypeId?: string;
     name?: string;
     portalId?: string;
     practice?: string;
     restrictionStatus?: string & object | "OPEN" | "RESTRICTED";
     serviceDeskId?: string;
  };
  requestTypeId?: string;
  serviceDesk?: {
   [key: string]: unknown;
     _links?: {
      [key: string]: unknown;
        self?: string;
     };
     id?: string;
     projectId?: string;
     projectKey?: string;
     projectName?: string;
     projectTypeKey?: string;
  };
  serviceDeskId?: string;
  sla?: {
   [key: string]: unknown;
     _expands?: string[];
     _links?: {
      [key: string]: unknown;
        base?: string;
        context?: string;
        next?: string;
        prev?: string;
        self?: string;
     };
     isLastPage?: boolean;
     limit?: number;
     size?: number;
     start?: number;
     values?: object[];
  };
  status?: {
   [key: string]: unknown;
     _expands?: string[];
     _links?: {
      [key: string]: unknown;
        base?: string;
        context?: string;
        next?: string;
        prev?: string;
        self?: string;
     };
     isLastPage?: boolean;
     limit?: number;
     size?: number;
     start?: number;
     values?: object[];
  };
  summary?: string;
}>;

Defined in: src/serviceDesk/api/request.ts:110

This method creates a customer request in a service desk.

The JSON request must include the service desk and customer request type, as well as any fields that are required for the request type. A list of the fields required by a customer request type can be obtained using servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/field.

The fields required for a customer request type depend on the user's permissions:

  • raiseOnBehalfOf is not available to Users who have the customer permission only.
  • requestParticipants is not available to Users who have the customer permission only or if the feature is turned off for customers.

requestFieldValues is a map of Jira field IDs and their values. See Field input formats, for details of each field's JSON semantics and the values they can take.

Permissions required: Permission to create requests in the specified service desk.

Parameters ​

ParameterTypeDescription
clientClient-
parameters{ channel?: string; form?: { answers?: Record<string, { adf?: unknown; choices?: string[]; date?: string; files?: string[]; text?: string; time?: string; users?: string[]; }>; }; isAdfRequest?: boolean; raiseOnBehalfOf?: string; requestFieldValues?: Record<string, any>; requestParticipants?: string[]; requestTypeId?: string; serviceDeskId?: string; }-
parameters.channel?string(Experimental) Shows extra information for the request channel.
parameters.form?{ answers?: Record<string, { adf?: unknown; choices?: string[]; date?: string; files?: string[]; text?: string; time?: string; users?: string[]; }>; }-
parameters.form.answers?Record<string, { adf?: unknown; choices?: string[]; date?: string; files?: string[]; text?: string; time?: string; users?: string[]; }>JSON mapping of form field answers containing form field IDs and corresponding values.
parameters.isAdfRequest?boolean(Experimental) Whether to accept rich text fields in Atlassian Document Format (ADF).
parameters.raiseOnBehalfOf?stringThe accountId of the customer that the request is being raised on behalf of.
parameters.requestFieldValues?Record<string, any>JSON map of Jira field IDs and their values representing the content of the request.
parameters.requestParticipants?string[]List of customers to participate in the request, as a list of accountId values.
parameters.requestTypeId?stringID of the request type for the request.
parameters.serviceDeskId?stringID of the service desk in which to create the request.
options?RequestOptions-

Returns ​

Promise<{ [key: string]: unknown; _expands?: string[]; _links?: { [key: string]: unknown; agent?: string; jiraRest?: string; self?: string; web?: string; }; actions?: { [key: string]: unknown; addAttachment?: { [key: string]: unknown; allowed?: boolean; }; addComment?: { [key: string]: unknown; allowed?: boolean; }; addParticipant?: { [key: string]: unknown; allowed?: boolean; }; removeParticipant?: { [key: string]: unknown; allowed?: boolean; }; }; attachments?: { [key: string]: unknown; _expands?: string[]; _links?: { [key: string]: unknown; base?: string; context?: string; next?: string; prev?: string; self?: string; }; isLastPage?: boolean; limit?: number; size?: number; start?: number; values?: object[]; }; comments?: { [key: string]: unknown; _expands?: string[]; _links?: { [key: string]: unknown; base?: string; context?: string; next?: string; prev?: string; self?: string; }; isLastPage?: boolean; limit?: number; size?: number; start?: number; values?: object[]; }; createdDate?: { [key: string]: unknown; epochMillis?: number; friendly?: string; iso8601?: string; jira?: string; }; currentStatus?: { [key: string]: unknown; status?: string; statusCategory?: string & object | "NEW" | "DONE" | "UNDEFINED" | "INDETERMINATE"; statusDate?: { [key: string]: unknown; epochMillis?: number; friendly?: string; iso8601?: string; jira?: string; }; }; issueId?: string; issueKey?: string; participants?: { [key: string]: unknown; _expands?: string[]; _links?: { [key: string]: unknown; base?: string; context?: string; next?: string; prev?: string; self?: string; }; isLastPage?: boolean; limit?: number; size?: number; start?: number; values?: object[]; }; reporter?: { [key: string]: unknown; _links?: { [key: string]: unknown; avatarUrls?: Record<string, string>; jiraRest?: string; self?: string; }; accountId?: string; active?: boolean; displayName?: string; emailAddress?: string; key?: string; name?: string; timeZone?: string; }; requestFieldValues?: object[]; requestType?: { [key: string]: unknown; _expands?: string[]; _links?: { [key: string]: unknown; self?: string; }; canCreateRequest?: boolean; description?: string; fields?: { [key: string]: unknown; canAddRequestParticipants?: boolean; canRaiseOnBehalfOf?: boolean; requestTypeFields?: object[]; }; groupIds?: string[]; helpText?: string; icon?: { [key: string]: unknown; _links?: { [key: string]: unknown; iconUrls?: Record<string, string>; }; id?: string; }; id?: string; issueTypeId?: string; name?: string; portalId?: string; practice?: string; restrictionStatus?: string & object | "OPEN" | "RESTRICTED"; serviceDeskId?: string; }; requestTypeId?: string; serviceDesk?: { [key: string]: unknown; _links?: { [key: string]: unknown; self?: string; }; id?: string; projectId?: string; projectKey?: string; projectName?: string; projectTypeKey?: string; }; serviceDeskId?: string; sla?: { [key: string]: unknown; _expands?: string[]; _links?: { [key: string]: unknown; base?: string; context?: string; next?: string; prev?: string; self?: string; }; isLastPage?: boolean; limit?: number; size?: number; start?: number; values?: object[]; }; status?: { [key: string]: unknown; _expands?: string[]; _links?: { [key: string]: unknown; base?: string; context?: string; next?: string; prev?: string; self?: string; }; isLastPage?: boolean; limit?: number; size?: number; start?: number; values?: object[]; }; summary?: string; }>