Create Ticket Field

Creates any of the following custom field types: | Custom field type | Description | |-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| | text | Default custom field type when `type` is not specified | | textarea | For multi-line text | | checkbox | To capture a boolean value.

Script zendesk Verified

by hugo697 ยท 11/7/2023

The script

Submitted by hugo697 Typescript (fetch-only)
Verified 377 days ago
1
type Zendesk = {
2
  username: string;
3
  password: string;
4
  subdomain: string;
5
};
6
/**
7
 * Create Ticket Field
8
 * Creates any of the following custom field types:
9

10
| Custom field type | Description                                                                                                                                                     |
11
|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
12
| text              | Default custom field type when `type` is not specified                                                                                                          |
13
| textarea          | For multi-line text                                                                                                                                             |
14
| checkbox          | To capture a boolean value.
15
 */
16
export async function main(auth: Zendesk) {
17
  const url = new URL(
18
    `https://${auth.subdomain}.zendesk.com/api/v2/ticket_fields`
19
  );
20

21
  const response = await fetch(url, {
22
    method: "POST",
23
    headers: {
24
      Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
25
    },
26
    body: undefined,
27
  });
28
  if (!response.ok) {
29
    const text = await response.text();
30
    throw new Error(`${response.status} ${text}`);
31
  }
32
  return await response.json();
33
}
34