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
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