Edits history of script submission #3795 for ' Create issue (jira)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Jira = {
      username: string;
      password: string;
      domain: string;
    };
    /**
     * Create issue
     * Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask.
     */
    export async function main(
      auth: Jira,
      updateHistory: string | undefined,
      body: {
        fields?: { [k: string]: unknown };
        historyMetadata?: {
          activityDescription?: string;
          activityDescriptionKey?: string;
          actor?: {
            avatarUrl?: string;
            displayName?: string;
            displayNameKey?: string;
            id?: string;
            type?: string;
            url?: string;
            [k: string]: unknown;
          };
          cause?: {
            avatarUrl?: string;
            displayName?: string;
            displayNameKey?: string;
            id?: string;
            type?: string;
            url?: string;
            [k: string]: unknown;
          };
          description?: string;
          descriptionKey?: string;
          emailDescription?: string;
          emailDescriptionKey?: string;
          extraData?: { [k: string]: string };
          generator?: {
            avatarUrl?: string;
            displayName?: string;
            displayNameKey?: string;
            id?: string;
            type?: string;
            url?: string;
            [k: string]: unknown;
          };
          type?: string;
          [k: string]: unknown;
        };
        properties?: { key?: string; value?: { [k: string]: unknown } }[];
        transition?: {
          expand?: string;
          fields?: {
            [k: string]: {
              allowedValues?: { [k: string]: unknown }[];
              autoCompleteUrl?: string;
              configuration?: { [k: string]: { [k: string]: unknown } };
              defaultValue?: { [k: string]: unknown };
              hasDefaultValue?: boolean;
              key: string;
              name: string;
              operations: string[];
              required: boolean;
              schema: {
                configuration?: { [k: string]: { [k: string]: unknown } };
                custom?: string;
                customId?: number;
                items?: string;
                system?: string;
                type: string;
              };
            };
          };
          hasScreen?: boolean;
          id?: string;
          isAvailable?: boolean;
          isConditional?: boolean;
          isGlobal?: boolean;
          isInitial?: boolean;
          looped?: boolean;
          name?: string;
          to?: {
            description?: string;
            iconUrl?: string;
            id?: string;
            name?: string;
            scope?: {
              project?: {
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                id?: string;
                key?: string;
                name?: string;
                projectCategory?: {
                  description?: string;
                  id?: string;
                  name?: string;
                  self?: string;
                };
                projectTypeKey?: "software" | "service_desk" | "business";
                self?: string;
                simplified?: boolean;
              };
              type?: "PROJECT" | "TEMPLATE";
              [k: string]: unknown;
            };
            self?: string;
            statusCategory?: {
              colorName?: string;
              id?: number;
              key?: string;
              name?: string;
              self?: string;
              [k: string]: unknown;
            };
            [k: string]: unknown;
          };
          [k: string]: unknown;
        };
        update?: {
          [k: string]: {
            add?: { [k: string]: unknown };
            copy?: { [k: string]: unknown };
            edit?: { [k: string]: unknown };
            remove?: { [k: string]: unknown };
            set?: { [k: string]: unknown };
          }[];
        };
        [k: string]: unknown;
      }
    ) {
      const url = new URL(`https://${auth.domain}.atlassian.net/rest/api/2/issue`);
      for (const [k, v] of [["updateHistory", updateHistory]]) {
        if (v !== undefined && v !== "") {
          url.searchParams.append(k, v);
        }
      }
      const response = await fetch(url, {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 396 days ago

  • nativets
    type Jira = {
      username: string;
      password: string;
      domain: string;
    };
    /**
     * Create issue
     * Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask.
     */
    export async function main(
      auth: Jira,
      updateHistory: string | undefined,
      body: {
        fields?: { [k: string]: unknown };
        historyMetadata?: {
          activityDescription?: string;
          activityDescriptionKey?: string;
          actor?: {
            avatarUrl?: string;
            displayName?: string;
            displayNameKey?: string;
            id?: string;
            type?: string;
            url?: string;
            [k: string]: unknown;
          };
          cause?: {
            avatarUrl?: string;
            displayName?: string;
            displayNameKey?: string;
            id?: string;
            type?: string;
            url?: string;
            [k: string]: unknown;
          };
          description?: string;
          descriptionKey?: string;
          emailDescription?: string;
          emailDescriptionKey?: string;
          extraData?: { [k: string]: string };
          generator?: {
            avatarUrl?: string;
            displayName?: string;
            displayNameKey?: string;
            id?: string;
            type?: string;
            url?: string;
            [k: string]: unknown;
          };
          type?: string;
          [k: string]: unknown;
        };
        properties?: { key?: string; value?: { [k: string]: unknown } }[];
        transition?: {
          expand?: string;
          fields?: {
            [k: string]: {
              allowedValues?: { [k: string]: unknown }[];
              autoCompleteUrl?: string;
              configuration?: { [k: string]: { [k: string]: unknown } };
              defaultValue?: { [k: string]: unknown };
              hasDefaultValue?: boolean;
              key: string;
              name: string;
              operations: string[];
              required: boolean;
              schema: {
                configuration?: { [k: string]: { [k: string]: unknown } };
                custom?: string;
                customId?: number;
                items?: string;
                system?: string;
                type: string;
              };
            };
          };
          hasScreen?: boolean;
          id?: string;
          isAvailable?: boolean;
          isConditional?: boolean;
          isGlobal?: boolean;
          isInitial?: boolean;
          looped?: boolean;
          name?: string;
          to?: {
            description?: string;
            iconUrl?: string;
            id?: string;
            name?: string;
            scope?: {
              project?: {
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                id?: string;
                key?: string;
                name?: string;
                projectCategory?: {
                  description?: string;
                  id?: string;
                  name?: string;
                  self?: string;
                };
                projectTypeKey?: "software" | "service_desk" | "business";
                self?: string;
                simplified?: boolean;
              };
              type?: "PROJECT" | "TEMPLATE";
              [k: string]: unknown;
            };
            self?: string;
            statusCategory?: {
              colorName?: string;
              id?: number;
              key?: string;
              name?: string;
              self?: string;
              [k: string]: unknown;
            };
            [k: string]: unknown;
          };
          [k: string]: unknown;
        };
        update?: {
          [k: string]: {
            add?: { [k: string]: unknown };
            copy?: { [k: string]: unknown };
            edit?: { [k: string]: unknown };
            remove?: { [k: string]: unknown };
            set?: { [k: string]: unknown };
          }[];
        };
        [k: string]: unknown;
      }
    ) {
      const url = new URL(`https://${auth.domain}.atlassian.net/rest/api/2/issue`);
      for (const [k, v] of [["updateHistory", updateHistory]]) {
        if (v !== undefined && v !== "") {
          url.searchParams.append(k, v);
        }
      }
      const response = await fetch(url, {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 823 days ago

  • nativets
    type Jira = {
      username: string;
      password: string;
      domain: string;
    };
    /**
     * Create issue
     * Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask.
     */
    export async function main(
      auth: Jira,
      updateHistory: string | undefined,
      body: {
        fields?: { [k: string]: unknown };
        historyMetadata?: {
          activityDescription?: string;
          activityDescriptionKey?: string;
          actor?: {
            avatarUrl?: string;
            displayName?: string;
            displayNameKey?: string;
            id?: string;
            type?: string;
            url?: string;
            [k: string]: unknown;
          };
          cause?: {
            avatarUrl?: string;
            displayName?: string;
            displayNameKey?: string;
            id?: string;
            type?: string;
            url?: string;
            [k: string]: unknown;
          };
          description?: string;
          descriptionKey?: string;
          emailDescription?: string;
          emailDescriptionKey?: string;
          extraData?: { [k: string]: string };
          generator?: {
            avatarUrl?: string;
            displayName?: string;
            displayNameKey?: string;
            id?: string;
            type?: string;
            url?: string;
            [k: string]: unknown;
          };
          type?: string;
          [k: string]: unknown;
        };
        properties?: { key?: string; value?: { [k: string]: unknown } }[];
        transition?: {
          expand?: string;
          fields?: {
            [k: string]: {
              allowedValues?: { [k: string]: unknown }[];
              autoCompleteUrl?: string;
              configuration?: { [k: string]: { [k: string]: unknown } };
              defaultValue?: { [k: string]: unknown };
              hasDefaultValue?: boolean;
              key: string;
              name: string;
              operations: string[];
              required: boolean;
              schema: {
                configuration?: { [k: string]: { [k: string]: unknown } };
                custom?: string;
                customId?: number;
                items?: string;
                system?: string;
                type: string;
              };
            };
          };
          hasScreen?: boolean;
          id?: string;
          isAvailable?: boolean;
          isConditional?: boolean;
          isGlobal?: boolean;
          isInitial?: boolean;
          looped?: boolean;
          name?: string;
          to?: {
            description?: string;
            iconUrl?: string;
            id?: string;
            name?: string;
            self?: string;
            statusCategory?: {
              colorName?: string;
              id?: number;
              key?: string;
              name?: string;
              self?: string;
              [k: string]: unknown;
            };
            [k: string]: unknown;
          };
          [k: string]: unknown;
        };
        update?: {
          [k: string]: {
            add?: { [k: string]: unknown };
            copy?: { [k: string]: unknown };
            edit?: { [k: string]: unknown };
            remove?: { [k: string]: unknown };
            set?: { [k: string]: unknown };
          }[];
        };
        [k: string]: unknown;
      }
    ) {
      const url = new URL(`https://${auth.domain}.atlassian.net/rest/api/2/issue`);
      for (const [k, v] of [["updateHistory", updateHistory]]) {
        if (v !== undefined && v !== "") {
          url.searchParams.append(k, v);
        }
      }
      const response = await fetch(url, {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 948 days ago