Edits history of script submission #3347 for ' Bulk edit dashboards (jira)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Jira = {
      username: string;
      password: string;
      domain: string;
    };
    /**
     * Bulk edit dashboards
     * Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.
    
    **[Permissions](#permissions) required:** None
    
    The dashboards to be updated must be owned by the user, or the user must be an administrator.
     */
    export async function main(
      auth: Jira,
      body: {
        action:
          | "changeOwner"
          | "changePermission"
          | "addPermission"
          | "removePermission";
        changeOwnerDetails?: { autofixName: boolean; newOwner: string };
        entityIds: number[];
        extendAdminPermissions?: boolean;
        permissionDetails?: {
          editPermissions: {
            group?: { groupId?: string; name?: string; self?: string };
            id?: number;
            project?: {
              archived?: boolean;
              archivedBy?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              archivedDate?: string;
              assigneeType?: "PROJECT_LEAD" | "UNASSIGNED";
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              components?: {
                ari?: string;
                assignee?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                assigneeType?:
                  | "PROJECT_DEFAULT"
                  | "COMPONENT_LEAD"
                  | "PROJECT_LEAD"
                  | "UNASSIGNED";
                description?: string;
                id?: string;
                isAssigneeTypeValid?: boolean;
                lead?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                leadAccountId?: string;
                leadUserName?: string;
                metadata?: { [k: string]: string };
                name?: string;
                project?: string;
                projectId?: number;
                realAssignee?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                realAssigneeType?:
                  | "PROJECT_DEFAULT"
                  | "COMPONENT_LEAD"
                  | "PROJECT_LEAD"
                  | "UNASSIGNED";
                self?: string;
              }[];
              deleted?: boolean;
              deletedBy?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              deletedDate?: string;
              description?: string;
              email?: string;
              expand?: string;
              favourite?: boolean;
              id?: string;
              insight?: { lastIssueUpdateTime?: string; totalIssueCount?: number };
              isPrivate?: boolean;
              issueTypeHierarchy?: {
                baseLevelId?: number;
                levels?: {
                  aboveLevelId?: number;
                  belowLevelId?: number;
                  externalUuid?: string;
                  hierarchyLevelNumber?: number;
                  id?: number;
                  issueTypeIds?: number[];
                  level?: number;
                  name?: string;
                  projectConfigurationId?: number;
                }[];
              };
              issueTypes?: {
                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;
              }[];
              key?: string;
              landingPageInfo?: {
                attributes?: { [k: string]: string };
                boardId?: number;
                boardName?: string;
                projectKey?: string;
                projectType?: string;
                queueCategory?: string;
                queueId?: number;
                queueName?: string;
                simpleBoard?: boolean;
                simplified?: boolean;
                url?: string;
              };
              lead?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              name?: string;
              permissions?: { canEdit?: boolean };
              projectCategory?: {
                description?: string;
                id?: string;
                name?: string;
                self?: string;
              };
              projectTypeKey?: "software" | "service_desk" | "business";
              properties?: { [k: string]: { [k: string]: unknown } };
              retentionTillDate?: string;
              roles?: { [k: string]: string };
              self?: string;
              simplified?: boolean;
              style?: "classic" | "next-gen";
              url?: string;
              uuid?: string;
              versions?: {
                approvers?: {
                  accountId?: string;
                  declineReason?: string;
                  description?: string;
                  status?: string;
                  [k: string]: unknown;
                }[];
                archived?: boolean;
                description?: string;
                driver?: string;
                expand?: string;
                id?: string;
                issuesStatusForFixVersion?: {
                  done?: number;
                  inProgress?: number;
                  toDo?: number;
                  unmapped?: number;
                  [k: string]: unknown;
                };
                moveUnfixedIssuesTo?: string;
                name?: string;
                operations?: {
                  href?: string;
                  iconClass?: string;
                  id?: string;
                  label?: string;
                  styleClass?: string;
                  title?: string;
                  weight?: number;
                }[];
                overdue?: boolean;
                project?: string;
                projectId?: number;
                releaseDate?: string;
                released?: boolean;
                self?: string;
                startDate?: string;
                userReleaseDate?: string;
                userStartDate?: string;
              }[];
            };
            role?: {
              actors?: {
                actorGroup?: {
                  displayName?: string;
                  groupId?: string;
                  name?: string;
                };
                actorUser?: { accountId?: string };
                avatarUrl?: string;
                displayName?: string;
                id?: number;
                name?: string;
                type?: "atlassian-group-role-actor" | "atlassian-user-role-actor";
              }[];
              admin?: boolean;
              currentUserRole?: boolean;
              default?: boolean;
              description?: string;
              id?: number;
              name?: string;
              roleConfigurable?: boolean;
              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;
              translatedName?: string;
            };
            type:
              | "user"
              | "group"
              | "project"
              | "projectRole"
              | "global"
              | "loggedin"
              | "authenticated"
              | "project-unknown";
            user?: {
              accountId?: string;
              active?: boolean;
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              displayName?: string;
              key?: string;
              name?: string;
              self?: string;
            };
          }[];
          sharePermissions: {
            group?: { groupId?: string; name?: string; self?: string };
            id?: number;
            project?: {
              archived?: boolean;
              archivedBy?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              archivedDate?: string;
              assigneeType?: "PROJECT_LEAD" | "UNASSIGNED";
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              components?: {
                ari?: string;
                assignee?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                assigneeType?:
                  | "PROJECT_DEFAULT"
                  | "COMPONENT_LEAD"
                  | "PROJECT_LEAD"
                  | "UNASSIGNED";
                description?: string;
                id?: string;
                isAssigneeTypeValid?: boolean;
                lead?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                leadAccountId?: string;
                leadUserName?: string;
                metadata?: { [k: string]: string };
                name?: string;
                project?: string;
                projectId?: number;
                realAssignee?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                realAssigneeType?:
                  | "PROJECT_DEFAULT"
                  | "COMPONENT_LEAD"
                  | "PROJECT_LEAD"
                  | "UNASSIGNED";
                self?: string;
              }[];
              deleted?: boolean;
              deletedBy?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              deletedDate?: string;
              description?: string;
              email?: string;
              expand?: string;
              favourite?: boolean;
              id?: string;
              insight?: { lastIssueUpdateTime?: string; totalIssueCount?: number };
              isPrivate?: boolean;
              issueTypeHierarchy?: {
                baseLevelId?: number;
                levels?: {
                  aboveLevelId?: number;
                  belowLevelId?: number;
                  externalUuid?: string;
                  hierarchyLevelNumber?: number;
                  id?: number;
                  issueTypeIds?: number[];
                  level?: number;
                  name?: string;
                  projectConfigurationId?: number;
                }[];
              };
              issueTypes?: {
                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;
              }[];
              key?: string;
              landingPageInfo?: {
                attributes?: { [k: string]: string };
                boardId?: number;
                boardName?: string;
                projectKey?: string;
                projectType?: string;
                queueCategory?: string;
                queueId?: number;
                queueName?: string;
                simpleBoard?: boolean;
                simplified?: boolean;
                url?: string;
              };
              lead?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              name?: string;
              permissions?: { canEdit?: boolean };
              projectCategory?: {
                description?: string;
                id?: string;
                name?: string;
                self?: string;
              };
              projectTypeKey?: "software" | "service_desk" | "business";
              properties?: { [k: string]: { [k: string]: unknown } };
              retentionTillDate?: string;
              roles?: { [k: string]: string };
              self?: string;
              simplified?: boolean;
              style?: "classic" | "next-gen";
              url?: string;
              uuid?: string;
              versions?: {
                approvers?: {
                  accountId?: string;
                  declineReason?: string;
                  description?: string;
                  status?: string;
                  [k: string]: unknown;
                }[];
                archived?: boolean;
                description?: string;
                driver?: string;
                expand?: string;
                id?: string;
                issuesStatusForFixVersion?: {
                  done?: number;
                  inProgress?: number;
                  toDo?: number;
                  unmapped?: number;
                  [k: string]: unknown;
                };
                moveUnfixedIssuesTo?: string;
                name?: string;
                operations?: {
                  href?: string;
                  iconClass?: string;
                  id?: string;
                  label?: string;
                  styleClass?: string;
                  title?: string;
                  weight?: number;
                }[];
                overdue?: boolean;
                project?: string;
                projectId?: number;
                releaseDate?: string;
                released?: boolean;
                self?: string;
                startDate?: string;
                userReleaseDate?: string;
                userStartDate?: string;
              }[];
            };
            role?: {
              actors?: {
                actorGroup?: {
                  displayName?: string;
                  groupId?: string;
                  name?: string;
                };
                actorUser?: { accountId?: string };
                avatarUrl?: string;
                displayName?: string;
                id?: number;
                name?: string;
                type?: "atlassian-group-role-actor" | "atlassian-user-role-actor";
              }[];
              admin?: boolean;
              currentUserRole?: boolean;
              default?: boolean;
              description?: string;
              id?: number;
              name?: string;
              roleConfigurable?: boolean;
              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;
              translatedName?: string;
            };
            type:
              | "user"
              | "group"
              | "project"
              | "projectRole"
              | "global"
              | "loggedin"
              | "authenticated"
              | "project-unknown";
            user?: {
              accountId?: string;
              active?: boolean;
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              displayName?: string;
              key?: string;
              name?: string;
              self?: string;
            };
          }[];
        };
      }
    ) {
      const url = new URL(
        `https://${auth.domain}.atlassian.net/rest/api/2/dashboard/bulk/edit`
      );
    
      const response = await fetch(url, {
        method: "PUT",
        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;
    };
    /**
     * Bulk edit dashboards
     * Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.
    
    **[Permissions](#permissions) required:** None
    
    The dashboards to be updated must be owned by the user, or the user must be an administrator.
     */
    export async function main(
      auth: Jira,
      body: {
        action:
          | "changeOwner"
          | "changePermission"
          | "addPermission"
          | "removePermission";
        changeOwnerDetails?: { autofixName: boolean; newOwner: string };
        entityIds: number[];
        extendAdminPermissions?: boolean;
        permissionDetails?: {
          editPermissions: {
            group?: { groupId?: string; name?: string; self?: string };
            id?: number;
            project?: {
              archived?: boolean;
              archivedBy?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              archivedDate?: string;
              assigneeType?: "PROJECT_LEAD" | "UNASSIGNED";
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              components?: {
                ari?: string;
                assignee?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                assigneeType?:
                  | "PROJECT_DEFAULT"
                  | "COMPONENT_LEAD"
                  | "PROJECT_LEAD"
                  | "UNASSIGNED";
                description?: string;
                id?: string;
                isAssigneeTypeValid?: boolean;
                lead?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                leadAccountId?: string;
                leadUserName?: string;
                metadata?: { [k: string]: string };
                name?: string;
                project?: string;
                projectId?: number;
                realAssignee?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                realAssigneeType?:
                  | "PROJECT_DEFAULT"
                  | "COMPONENT_LEAD"
                  | "PROJECT_LEAD"
                  | "UNASSIGNED";
                self?: string;
              }[];
              deleted?: boolean;
              deletedBy?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              deletedDate?: string;
              description?: string;
              email?: string;
              expand?: string;
              favourite?: boolean;
              id?: string;
              insight?: { lastIssueUpdateTime?: string; totalIssueCount?: number };
              isPrivate?: boolean;
              issueTypeHierarchy?: {
                baseLevelId?: number;
                levels?: {
                  aboveLevelId?: number;
                  belowLevelId?: number;
                  externalUuid?: string;
                  hierarchyLevelNumber?: number;
                  id?: number;
                  issueTypeIds?: number[];
                  level?: number;
                  name?: string;
                  projectConfigurationId?: number;
                }[];
              };
              issueTypes?: {
                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;
              }[];
              key?: string;
              landingPageInfo?: {
                attributes?: { [k: string]: string };
                boardId?: number;
                boardName?: string;
                projectKey?: string;
                projectType?: string;
                queueCategory?: string;
                queueId?: number;
                queueName?: string;
                simpleBoard?: boolean;
                simplified?: boolean;
                url?: string;
              };
              lead?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              name?: string;
              permissions?: { canEdit?: boolean };
              projectCategory?: {
                description?: string;
                id?: string;
                name?: string;
                self?: string;
              };
              projectTypeKey?: "software" | "service_desk" | "business";
              properties?: { [k: string]: { [k: string]: unknown } };
              retentionTillDate?: string;
              roles?: { [k: string]: string };
              self?: string;
              simplified?: boolean;
              style?: "classic" | "next-gen";
              url?: string;
              uuid?: string;
              versions?: {
                approvers?: {
                  accountId?: string;
                  declineReason?: string;
                  description?: string;
                  status?: string;
                  [k: string]: unknown;
                }[];
                archived?: boolean;
                description?: string;
                driver?: string;
                expand?: string;
                id?: string;
                issuesStatusForFixVersion?: {
                  done?: number;
                  inProgress?: number;
                  toDo?: number;
                  unmapped?: number;
                  [k: string]: unknown;
                };
                moveUnfixedIssuesTo?: string;
                name?: string;
                operations?: {
                  href?: string;
                  iconClass?: string;
                  id?: string;
                  label?: string;
                  styleClass?: string;
                  title?: string;
                  weight?: number;
                }[];
                overdue?: boolean;
                project?: string;
                projectId?: number;
                releaseDate?: string;
                released?: boolean;
                self?: string;
                startDate?: string;
                userReleaseDate?: string;
                userStartDate?: string;
              }[];
            };
            role?: {
              actors?: {
                actorGroup?: {
                  displayName?: string;
                  groupId?: string;
                  name?: string;
                };
                actorUser?: { accountId?: string };
                avatarUrl?: string;
                displayName?: string;
                id?: number;
                name?: string;
                type?: "atlassian-group-role-actor" | "atlassian-user-role-actor";
              }[];
              admin?: boolean;
              currentUserRole?: boolean;
              default?: boolean;
              description?: string;
              id?: number;
              name?: string;
              roleConfigurable?: boolean;
              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;
              translatedName?: string;
            };
            type:
              | "user"
              | "group"
              | "project"
              | "projectRole"
              | "global"
              | "loggedin"
              | "authenticated"
              | "project-unknown";
            user?: {
              accountId?: string;
              active?: boolean;
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              displayName?: string;
              key?: string;
              name?: string;
              self?: string;
            };
          }[];
          sharePermissions: {
            group?: { groupId?: string; name?: string; self?: string };
            id?: number;
            project?: {
              archived?: boolean;
              archivedBy?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              archivedDate?: string;
              assigneeType?: "PROJECT_LEAD" | "UNASSIGNED";
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              components?: {
                ari?: string;
                assignee?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                assigneeType?:
                  | "PROJECT_DEFAULT"
                  | "COMPONENT_LEAD"
                  | "PROJECT_LEAD"
                  | "UNASSIGNED";
                description?: string;
                id?: string;
                isAssigneeTypeValid?: boolean;
                lead?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                leadAccountId?: string;
                leadUserName?: string;
                metadata?: { [k: string]: string };
                name?: string;
                project?: string;
                projectId?: number;
                realAssignee?: {
                  accountId?: string;
                  accountType?: "atlassian" | "app" | "customer" | "unknown";
                  active?: boolean;
                  applicationRoles?: {
                    callback?: {};
                    items?: {
                      defaultGroups?: string[];
                      defaultGroupsDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      defined?: boolean;
                      groupDetails?: {
                        groupId?: string;
                        name?: string;
                        self?: string;
                      }[];
                      groups?: string[];
                      hasUnlimitedSeats?: boolean;
                      key?: string;
                      name?: string;
                      numberOfSeats?: number;
                      platform?: boolean;
                      remainingSeats?: number;
                      selectedByDefault?: boolean;
                      userCount?: number;
                      userCountDescription?: string;
                    }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  avatarUrls?: {
                    "16x16"?: string;
                    "24x24"?: string;
                    "32x32"?: string;
                    "48x48"?: string;
                  };
                  displayName?: string;
                  emailAddress?: string;
                  expand?: string;
                  groups?: {
                    callback?: {};
                    items?: { groupId?: string; name?: string; self?: string }[];
                    "max-results"?: number;
                    pagingCallback?: {};
                    size?: number;
                  };
                  key?: string;
                  locale?: string;
                  name?: string;
                  self?: string;
                  timeZone?: string;
                };
                realAssigneeType?:
                  | "PROJECT_DEFAULT"
                  | "COMPONENT_LEAD"
                  | "PROJECT_LEAD"
                  | "UNASSIGNED";
                self?: string;
              }[];
              deleted?: boolean;
              deletedBy?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              deletedDate?: string;
              description?: string;
              email?: string;
              expand?: string;
              favourite?: boolean;
              id?: string;
              insight?: { lastIssueUpdateTime?: string; totalIssueCount?: number };
              isPrivate?: boolean;
              issueTypeHierarchy?: {
                baseLevelId?: number;
                levels?: {
                  aboveLevelId?: number;
                  belowLevelId?: number;
                  externalUuid?: string;
                  hierarchyLevelNumber?: number;
                  id?: number;
                  issueTypeIds?: number[];
                  level?: number;
                  name?: string;
                  projectConfigurationId?: number;
                }[];
              };
              issueTypes?: {
                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;
              }[];
              key?: string;
              landingPageInfo?: {
                attributes?: { [k: string]: string };
                boardId?: number;
                boardName?: string;
                projectKey?: string;
                projectType?: string;
                queueCategory?: string;
                queueId?: number;
                queueName?: string;
                simpleBoard?: boolean;
                simplified?: boolean;
                url?: string;
              };
              lead?: {
                accountId?: string;
                accountType?: "atlassian" | "app" | "customer" | "unknown";
                active?: boolean;
                applicationRoles?: {
                  callback?: {};
                  items?: {
                    defaultGroups?: string[];
                    defaultGroupsDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    defined?: boolean;
                    groupDetails?: {
                      groupId?: string;
                      name?: string;
                      self?: string;
                    }[];
                    groups?: string[];
                    hasUnlimitedSeats?: boolean;
                    key?: string;
                    name?: string;
                    numberOfSeats?: number;
                    platform?: boolean;
                    remainingSeats?: number;
                    selectedByDefault?: boolean;
                    userCount?: number;
                    userCountDescription?: string;
                  }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                avatarUrls?: {
                  "16x16"?: string;
                  "24x24"?: string;
                  "32x32"?: string;
                  "48x48"?: string;
                };
                displayName?: string;
                emailAddress?: string;
                expand?: string;
                groups?: {
                  callback?: {};
                  items?: { groupId?: string; name?: string; self?: string }[];
                  "max-results"?: number;
                  pagingCallback?: {};
                  size?: number;
                };
                key?: string;
                locale?: string;
                name?: string;
                self?: string;
                timeZone?: string;
              };
              name?: string;
              permissions?: { canEdit?: boolean };
              projectCategory?: {
                description?: string;
                id?: string;
                name?: string;
                self?: string;
              };
              projectTypeKey?: "software" | "service_desk" | "business";
              properties?: { [k: string]: { [k: string]: unknown } };
              retentionTillDate?: string;
              roles?: { [k: string]: string };
              self?: string;
              simplified?: boolean;
              style?: "classic" | "next-gen";
              url?: string;
              uuid?: string;
              versions?: {
                approvers?: {
                  accountId?: string;
                  declineReason?: string;
                  description?: string;
                  status?: string;
                  [k: string]: unknown;
                }[];
                archived?: boolean;
                description?: string;
                driver?: string;
                expand?: string;
                id?: string;
                issuesStatusForFixVersion?: {
                  done?: number;
                  inProgress?: number;
                  toDo?: number;
                  unmapped?: number;
                  [k: string]: unknown;
                };
                moveUnfixedIssuesTo?: string;
                name?: string;
                operations?: {
                  href?: string;
                  iconClass?: string;
                  id?: string;
                  label?: string;
                  styleClass?: string;
                  title?: string;
                  weight?: number;
                }[];
                overdue?: boolean;
                project?: string;
                projectId?: number;
                releaseDate?: string;
                released?: boolean;
                self?: string;
                startDate?: string;
                userReleaseDate?: string;
                userStartDate?: string;
              }[];
            };
            role?: {
              actors?: {
                actorGroup?: {
                  displayName?: string;
                  groupId?: string;
                  name?: string;
                };
                actorUser?: { accountId?: string };
                avatarUrl?: string;
                displayName?: string;
                id?: number;
                name?: string;
                type?: "atlassian-group-role-actor" | "atlassian-user-role-actor";
              }[];
              admin?: boolean;
              currentUserRole?: boolean;
              default?: boolean;
              description?: string;
              id?: number;
              name?: string;
              roleConfigurable?: boolean;
              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;
              translatedName?: string;
            };
            type:
              | "user"
              | "group"
              | "project"
              | "projectRole"
              | "global"
              | "loggedin"
              | "authenticated"
              | "project-unknown";
            user?: {
              accountId?: string;
              active?: boolean;
              avatarUrls?: {
                "16x16"?: string;
                "24x24"?: string;
                "32x32"?: string;
                "48x48"?: string;
              };
              displayName?: string;
              key?: string;
              name?: string;
              self?: string;
            };
          }[];
        };
      }
    ) {
      const url = new URL(
        `https://${auth.domain}.atlassian.net/rest/api/2/dashboard/bulk/edit`
      );
    
      const response = await fetch(url, {
        method: "PUT",
        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