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

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Jira = {
      username: string;
      password: string;
      domain: string;
    };
    /**
     * Create issue link
     * Creates a link between two issues.
     */
    export async function main(
      auth: Jira,
      body: {
        comment?: {
          author?: {
            accountId?: string;
            accountType?: string;
            active?: boolean;
            avatarUrls?: {
              "16x16"?: string;
              "24x24"?: string;
              "32x32"?: string;
              "48x48"?: string;
            };
            displayName?: string;
            emailAddress?: string;
            key?: string;
            name?: string;
            self?: string;
            timeZone?: string;
          };
          body?: string;
          created?: string;
          id?: string;
          jsdAuthorCanSeeRequest?: boolean;
          jsdPublic?: boolean;
          properties?: { key?: string; value?: { [k: string]: unknown } }[];
          renderedBody?: string;
          self?: string;
          updateAuthor?: {
            accountId?: string;
            accountType?: string;
            active?: boolean;
            avatarUrls?: {
              "16x16"?: string;
              "24x24"?: string;
              "32x32"?: string;
              "48x48"?: string;
            };
            displayName?: string;
            emailAddress?: string;
            key?: string;
            name?: string;
            self?: string;
            timeZone?: string;
          };
          updated?: string;
          visibility?: {
            identifier?: string;
            type?: "group" | "role";
            value?: string;
            [k: string]: unknown;
          };
          [k: string]: unknown;
        };
        inwardIssue: {
          fields?: {
            assignee?: {
              accountId?: string;
              accountType?: string;
              active?: boolean;
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              displayName?: string;
              emailAddress?: string;
              key?: string;
              name?: string;
              self?: string;
              timeZone?: string;
            };
            issueType?: {
              avatarId?: number;
              description?: string;
              entityId?: string;
              hierarchyLevel?: number;
              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;
              subtask?: boolean;
            };
            issuetype?: {
              avatarId?: number;
              description?: string;
              entityId?: string;
              hierarchyLevel?: number;
              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;
              subtask?: boolean;
            };
            priority?: {
              description?: string;
              iconUrl?: string;
              id?: string;
              isDefault?: boolean;
              name?: string;
              self?: string;
              statusColor?: string;
              [k: string]: unknown;
            };
            status?: {
              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;
            };
            summary?: string;
            timetracking?: {
              originalEstimate?: string;
              originalEstimateSeconds?: number;
              remainingEstimate?: string;
              remainingEstimateSeconds?: number;
              timeSpent?: string;
              timeSpentSeconds?: number;
            };
          };
          id?: string;
          key?: string;
          self?: string;
        };
        outwardIssue: {
          fields?: {
            assignee?: {
              accountId?: string;
              accountType?: string;
              active?: boolean;
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              displayName?: string;
              emailAddress?: string;
              key?: string;
              name?: string;
              self?: string;
              timeZone?: string;
            };
            issueType?: {
              avatarId?: number;
              description?: string;
              entityId?: string;
              hierarchyLevel?: number;
              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;
              subtask?: boolean;
            };
            issuetype?: {
              avatarId?: number;
              description?: string;
              entityId?: string;
              hierarchyLevel?: number;
              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;
              subtask?: boolean;
            };
            priority?: {
              description?: string;
              iconUrl?: string;
              id?: string;
              isDefault?: boolean;
              name?: string;
              self?: string;
              statusColor?: string;
              [k: string]: unknown;
            };
            status?: {
              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;
            };
            summary?: string;
            timetracking?: {
              originalEstimate?: string;
              originalEstimateSeconds?: number;
              remainingEstimate?: string;
              remainingEstimateSeconds?: number;
              timeSpent?: string;
              timeSpentSeconds?: number;
            };
          };
          id?: string;
          key?: string;
          self?: string;
        };
        type: {
          id?: string;
          inward?: string;
          name?: string;
          outward?: string;
          self?: string;
        };
      }
    ) {
      const url = new URL(
        `https://${auth.domain}.atlassian.net/rest/api/2/issueLink`
      );
    
      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 link
     * Creates a link between two issues.
     */
    export async function main(
      auth: Jira,
      body: {
        comment?: {
          author?: {
            accountId?: string;
            accountType?: string;
            active?: boolean;
            avatarUrls?: {
              "16x16"?: string;
              "24x24"?: string;
              "32x32"?: string;
              "48x48"?: string;
            };
            displayName?: string;
            emailAddress?: string;
            key?: string;
            name?: string;
            self?: string;
            timeZone?: string;
          };
          body?: string;
          created?: string;
          id?: string;
          jsdAuthorCanSeeRequest?: boolean;
          jsdPublic?: boolean;
          properties?: { key?: string; value?: { [k: string]: unknown } }[];
          renderedBody?: string;
          self?: string;
          updateAuthor?: {
            accountId?: string;
            accountType?: string;
            active?: boolean;
            avatarUrls?: {
              "16x16"?: string;
              "24x24"?: string;
              "32x32"?: string;
              "48x48"?: string;
            };
            displayName?: string;
            emailAddress?: string;
            key?: string;
            name?: string;
            self?: string;
            timeZone?: string;
          };
          updated?: string;
          visibility?: {
            identifier?: string;
            type?: "group" | "role";
            value?: string;
            [k: string]: unknown;
          };
          [k: string]: unknown;
        };
        inwardIssue: {
          fields?: {
            assignee?: {
              accountId?: string;
              accountType?: string;
              active?: boolean;
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              displayName?: string;
              emailAddress?: string;
              key?: string;
              name?: string;
              self?: string;
              timeZone?: string;
            };
            issueType?: {
              avatarId?: number;
              description?: string;
              entityId?: string;
              hierarchyLevel?: number;
              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;
              subtask?: boolean;
            };
            issuetype?: {
              avatarId?: number;
              description?: string;
              entityId?: string;
              hierarchyLevel?: number;
              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;
              subtask?: boolean;
            };
            priority?: {
              description?: string;
              iconUrl?: string;
              id?: string;
              isDefault?: boolean;
              name?: string;
              self?: string;
              statusColor?: string;
              [k: string]: unknown;
            };
            status?: {
              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;
            };
            summary?: string;
            timetracking?: {
              originalEstimate?: string;
              originalEstimateSeconds?: number;
              remainingEstimate?: string;
              remainingEstimateSeconds?: number;
              timeSpent?: string;
              timeSpentSeconds?: number;
            };
          };
          id?: string;
          key?: string;
          self?: string;
        };
        outwardIssue: {
          fields?: {
            assignee?: {
              accountId?: string;
              accountType?: string;
              active?: boolean;
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              displayName?: string;
              emailAddress?: string;
              key?: string;
              name?: string;
              self?: string;
              timeZone?: string;
            };
            issueType?: {
              avatarId?: number;
              description?: string;
              entityId?: string;
              hierarchyLevel?: number;
              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;
              subtask?: boolean;
            };
            issuetype?: {
              avatarId?: number;
              description?: string;
              entityId?: string;
              hierarchyLevel?: number;
              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;
              subtask?: boolean;
            };
            priority?: {
              description?: string;
              iconUrl?: string;
              id?: string;
              isDefault?: boolean;
              name?: string;
              self?: string;
              statusColor?: string;
              [k: string]: unknown;
            };
            status?: {
              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;
            };
            summary?: string;
            timetracking?: {
              originalEstimate?: string;
              originalEstimateSeconds?: number;
              remainingEstimate?: string;
              remainingEstimateSeconds?: number;
              timeSpent?: string;
              timeSpentSeconds?: number;
            };
          };
          id?: string;
          key?: string;
          self?: string;
        };
        type: {
          id?: string;
          inward?: string;
          name?: string;
          outward?: string;
          self?: string;
        };
      }
    ) {
      const url = new URL(
        `https://${auth.domain}.atlassian.net/rest/api/2/issueLink`
      );
    
      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