1 | type Jira = { |
2 | username: string; |
3 | password: string; |
4 | domain: string; |
5 | }; |
6 | |
7 | * Bulk edit dashboards |
8 | * Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100. |
9 |
|
10 | **[Permissions](#permissions) required:** None |
11 |
|
12 | The dashboards to be updated must be owned by the user, or the user must be an administrator. |
13 | */ |
14 | export async function main( |
15 | auth: Jira, |
16 | body: { |
17 | action: |
18 | | "changeOwner" |
19 | | "changePermission" |
20 | | "addPermission" |
21 | | "removePermission"; |
22 | changeOwnerDetails?: { autofixName: boolean; newOwner: string }; |
23 | entityIds: number[]; |
24 | extendAdminPermissions?: boolean; |
25 | permissionDetails?: { |
26 | editPermissions: { |
27 | group?: { groupId?: string; name?: string; self?: string }; |
28 | id?: number; |
29 | project?: { |
30 | archived?: boolean; |
31 | archivedBy?: { |
32 | accountId?: string; |
33 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
34 | active?: boolean; |
35 | applicationRoles?: { |
36 | callback?: {}; |
37 | items?: { |
38 | defaultGroups?: string[]; |
39 | defaultGroupsDetails?: { |
40 | groupId?: string; |
41 | name?: string; |
42 | self?: string; |
43 | }[]; |
44 | defined?: boolean; |
45 | groupDetails?: { |
46 | groupId?: string; |
47 | name?: string; |
48 | self?: string; |
49 | }[]; |
50 | groups?: string[]; |
51 | hasUnlimitedSeats?: boolean; |
52 | key?: string; |
53 | name?: string; |
54 | numberOfSeats?: number; |
55 | platform?: boolean; |
56 | remainingSeats?: number; |
57 | selectedByDefault?: boolean; |
58 | userCount?: number; |
59 | userCountDescription?: string; |
60 | }[]; |
61 | "max-results"?: number; |
62 | pagingCallback?: {}; |
63 | size?: number; |
64 | }; |
65 | avatarUrls?: { |
66 | "16x16"?: string; |
67 | "24x24"?: string; |
68 | "32x32"?: string; |
69 | "48x48"?: string; |
70 | }; |
71 | displayName?: string; |
72 | emailAddress?: string; |
73 | expand?: string; |
74 | groups?: { |
75 | callback?: {}; |
76 | items?: { groupId?: string; name?: string; self?: string }[]; |
77 | "max-results"?: number; |
78 | pagingCallback?: {}; |
79 | size?: number; |
80 | }; |
81 | key?: string; |
82 | locale?: string; |
83 | name?: string; |
84 | self?: string; |
85 | timeZone?: string; |
86 | }; |
87 | archivedDate?: string; |
88 | assigneeType?: "PROJECT_LEAD" | "UNASSIGNED"; |
89 | avatarUrls?: { |
90 | "16x16"?: string; |
91 | "24x24"?: string; |
92 | "32x32"?: string; |
93 | "48x48"?: string; |
94 | }; |
95 | components?: { |
96 | ari?: string; |
97 | assignee?: { |
98 | accountId?: string; |
99 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
100 | active?: boolean; |
101 | applicationRoles?: { |
102 | callback?: {}; |
103 | items?: { |
104 | defaultGroups?: string[]; |
105 | defaultGroupsDetails?: { |
106 | groupId?: string; |
107 | name?: string; |
108 | self?: string; |
109 | }[]; |
110 | defined?: boolean; |
111 | groupDetails?: { |
112 | groupId?: string; |
113 | name?: string; |
114 | self?: string; |
115 | }[]; |
116 | groups?: string[]; |
117 | hasUnlimitedSeats?: boolean; |
118 | key?: string; |
119 | name?: string; |
120 | numberOfSeats?: number; |
121 | platform?: boolean; |
122 | remainingSeats?: number; |
123 | selectedByDefault?: boolean; |
124 | userCount?: number; |
125 | userCountDescription?: string; |
126 | }[]; |
127 | "max-results"?: number; |
128 | pagingCallback?: {}; |
129 | size?: number; |
130 | }; |
131 | avatarUrls?: { |
132 | "16x16"?: string; |
133 | "24x24"?: string; |
134 | "32x32"?: string; |
135 | "48x48"?: string; |
136 | }; |
137 | displayName?: string; |
138 | emailAddress?: string; |
139 | expand?: string; |
140 | groups?: { |
141 | callback?: {}; |
142 | items?: { groupId?: string; name?: string; self?: string }[]; |
143 | "max-results"?: number; |
144 | pagingCallback?: {}; |
145 | size?: number; |
146 | }; |
147 | key?: string; |
148 | locale?: string; |
149 | name?: string; |
150 | self?: string; |
151 | timeZone?: string; |
152 | }; |
153 | assigneeType?: |
154 | | "PROJECT_DEFAULT" |
155 | | "COMPONENT_LEAD" |
156 | | "PROJECT_LEAD" |
157 | | "UNASSIGNED"; |
158 | description?: string; |
159 | id?: string; |
160 | isAssigneeTypeValid?: boolean; |
161 | lead?: { |
162 | accountId?: string; |
163 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
164 | active?: boolean; |
165 | applicationRoles?: { |
166 | callback?: {}; |
167 | items?: { |
168 | defaultGroups?: string[]; |
169 | defaultGroupsDetails?: { |
170 | groupId?: string; |
171 | name?: string; |
172 | self?: string; |
173 | }[]; |
174 | defined?: boolean; |
175 | groupDetails?: { |
176 | groupId?: string; |
177 | name?: string; |
178 | self?: string; |
179 | }[]; |
180 | groups?: string[]; |
181 | hasUnlimitedSeats?: boolean; |
182 | key?: string; |
183 | name?: string; |
184 | numberOfSeats?: number; |
185 | platform?: boolean; |
186 | remainingSeats?: number; |
187 | selectedByDefault?: boolean; |
188 | userCount?: number; |
189 | userCountDescription?: string; |
190 | }[]; |
191 | "max-results"?: number; |
192 | pagingCallback?: {}; |
193 | size?: number; |
194 | }; |
195 | avatarUrls?: { |
196 | "16x16"?: string; |
197 | "24x24"?: string; |
198 | "32x32"?: string; |
199 | "48x48"?: string; |
200 | }; |
201 | displayName?: string; |
202 | emailAddress?: string; |
203 | expand?: string; |
204 | groups?: { |
205 | callback?: {}; |
206 | items?: { groupId?: string; name?: string; self?: string }[]; |
207 | "max-results"?: number; |
208 | pagingCallback?: {}; |
209 | size?: number; |
210 | }; |
211 | key?: string; |
212 | locale?: string; |
213 | name?: string; |
214 | self?: string; |
215 | timeZone?: string; |
216 | }; |
217 | leadAccountId?: string; |
218 | leadUserName?: string; |
219 | metadata?: { [k: string]: string }; |
220 | name?: string; |
221 | project?: string; |
222 | projectId?: number; |
223 | realAssignee?: { |
224 | accountId?: string; |
225 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
226 | active?: boolean; |
227 | applicationRoles?: { |
228 | callback?: {}; |
229 | items?: { |
230 | defaultGroups?: string[]; |
231 | defaultGroupsDetails?: { |
232 | groupId?: string; |
233 | name?: string; |
234 | self?: string; |
235 | }[]; |
236 | defined?: boolean; |
237 | groupDetails?: { |
238 | groupId?: string; |
239 | name?: string; |
240 | self?: string; |
241 | }[]; |
242 | groups?: string[]; |
243 | hasUnlimitedSeats?: boolean; |
244 | key?: string; |
245 | name?: string; |
246 | numberOfSeats?: number; |
247 | platform?: boolean; |
248 | remainingSeats?: number; |
249 | selectedByDefault?: boolean; |
250 | userCount?: number; |
251 | userCountDescription?: string; |
252 | }[]; |
253 | "max-results"?: number; |
254 | pagingCallback?: {}; |
255 | size?: number; |
256 | }; |
257 | avatarUrls?: { |
258 | "16x16"?: string; |
259 | "24x24"?: string; |
260 | "32x32"?: string; |
261 | "48x48"?: string; |
262 | }; |
263 | displayName?: string; |
264 | emailAddress?: string; |
265 | expand?: string; |
266 | groups?: { |
267 | callback?: {}; |
268 | items?: { groupId?: string; name?: string; self?: string }[]; |
269 | "max-results"?: number; |
270 | pagingCallback?: {}; |
271 | size?: number; |
272 | }; |
273 | key?: string; |
274 | locale?: string; |
275 | name?: string; |
276 | self?: string; |
277 | timeZone?: string; |
278 | }; |
279 | realAssigneeType?: |
280 | | "PROJECT_DEFAULT" |
281 | | "COMPONENT_LEAD" |
282 | | "PROJECT_LEAD" |
283 | | "UNASSIGNED"; |
284 | self?: string; |
285 | }[]; |
286 | deleted?: boolean; |
287 | deletedBy?: { |
288 | accountId?: string; |
289 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
290 | active?: boolean; |
291 | applicationRoles?: { |
292 | callback?: {}; |
293 | items?: { |
294 | defaultGroups?: string[]; |
295 | defaultGroupsDetails?: { |
296 | groupId?: string; |
297 | name?: string; |
298 | self?: string; |
299 | }[]; |
300 | defined?: boolean; |
301 | groupDetails?: { |
302 | groupId?: string; |
303 | name?: string; |
304 | self?: string; |
305 | }[]; |
306 | groups?: string[]; |
307 | hasUnlimitedSeats?: boolean; |
308 | key?: string; |
309 | name?: string; |
310 | numberOfSeats?: number; |
311 | platform?: boolean; |
312 | remainingSeats?: number; |
313 | selectedByDefault?: boolean; |
314 | userCount?: number; |
315 | userCountDescription?: string; |
316 | }[]; |
317 | "max-results"?: number; |
318 | pagingCallback?: {}; |
319 | size?: number; |
320 | }; |
321 | avatarUrls?: { |
322 | "16x16"?: string; |
323 | "24x24"?: string; |
324 | "32x32"?: string; |
325 | "48x48"?: string; |
326 | }; |
327 | displayName?: string; |
328 | emailAddress?: string; |
329 | expand?: string; |
330 | groups?: { |
331 | callback?: {}; |
332 | items?: { groupId?: string; name?: string; self?: string }[]; |
333 | "max-results"?: number; |
334 | pagingCallback?: {}; |
335 | size?: number; |
336 | }; |
337 | key?: string; |
338 | locale?: string; |
339 | name?: string; |
340 | self?: string; |
341 | timeZone?: string; |
342 | }; |
343 | deletedDate?: string; |
344 | description?: string; |
345 | email?: string; |
346 | expand?: string; |
347 | favourite?: boolean; |
348 | id?: string; |
349 | insight?: { lastIssueUpdateTime?: string; totalIssueCount?: number }; |
350 | isPrivate?: boolean; |
351 | issueTypeHierarchy?: { |
352 | baseLevelId?: number; |
353 | levels?: { |
354 | aboveLevelId?: number; |
355 | belowLevelId?: number; |
356 | externalUuid?: string; |
357 | hierarchyLevelNumber?: number; |
358 | id?: number; |
359 | issueTypeIds?: number[]; |
360 | level?: number; |
361 | name?: string; |
362 | projectConfigurationId?: number; |
363 | }[]; |
364 | }; |
365 | issueTypes?: { |
366 | avatarId?: number; |
367 | description?: string; |
368 | entityId?: string; |
369 | hierarchyLevel?: number; |
370 | iconUrl?: string; |
371 | id?: string; |
372 | name?: string; |
373 | scope?: { |
374 | project?: { |
375 | avatarUrls?: { |
376 | "16x16"?: string; |
377 | "24x24"?: string; |
378 | "32x32"?: string; |
379 | "48x48"?: string; |
380 | }; |
381 | id?: string; |
382 | key?: string; |
383 | name?: string; |
384 | projectCategory?: { |
385 | description?: string; |
386 | id?: string; |
387 | name?: string; |
388 | self?: string; |
389 | }; |
390 | projectTypeKey?: "software" | "service_desk" | "business"; |
391 | self?: string; |
392 | simplified?: boolean; |
393 | }; |
394 | type?: "PROJECT" | "TEMPLATE"; |
395 | [k: string]: unknown; |
396 | }; |
397 | self?: string; |
398 | subtask?: boolean; |
399 | }[]; |
400 | key?: string; |
401 | landingPageInfo?: { |
402 | attributes?: { [k: string]: string }; |
403 | boardId?: number; |
404 | boardName?: string; |
405 | projectKey?: string; |
406 | projectType?: string; |
407 | queueCategory?: string; |
408 | queueId?: number; |
409 | queueName?: string; |
410 | simpleBoard?: boolean; |
411 | simplified?: boolean; |
412 | url?: string; |
413 | }; |
414 | lead?: { |
415 | accountId?: string; |
416 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
417 | active?: boolean; |
418 | applicationRoles?: { |
419 | callback?: {}; |
420 | items?: { |
421 | defaultGroups?: string[]; |
422 | defaultGroupsDetails?: { |
423 | groupId?: string; |
424 | name?: string; |
425 | self?: string; |
426 | }[]; |
427 | defined?: boolean; |
428 | groupDetails?: { |
429 | groupId?: string; |
430 | name?: string; |
431 | self?: string; |
432 | }[]; |
433 | groups?: string[]; |
434 | hasUnlimitedSeats?: boolean; |
435 | key?: string; |
436 | name?: string; |
437 | numberOfSeats?: number; |
438 | platform?: boolean; |
439 | remainingSeats?: number; |
440 | selectedByDefault?: boolean; |
441 | userCount?: number; |
442 | userCountDescription?: string; |
443 | }[]; |
444 | "max-results"?: number; |
445 | pagingCallback?: {}; |
446 | size?: number; |
447 | }; |
448 | avatarUrls?: { |
449 | "16x16"?: string; |
450 | "24x24"?: string; |
451 | "32x32"?: string; |
452 | "48x48"?: string; |
453 | }; |
454 | displayName?: string; |
455 | emailAddress?: string; |
456 | expand?: string; |
457 | groups?: { |
458 | callback?: {}; |
459 | items?: { groupId?: string; name?: string; self?: string }[]; |
460 | "max-results"?: number; |
461 | pagingCallback?: {}; |
462 | size?: number; |
463 | }; |
464 | key?: string; |
465 | locale?: string; |
466 | name?: string; |
467 | self?: string; |
468 | timeZone?: string; |
469 | }; |
470 | name?: string; |
471 | permissions?: { canEdit?: boolean }; |
472 | projectCategory?: { |
473 | description?: string; |
474 | id?: string; |
475 | name?: string; |
476 | self?: string; |
477 | }; |
478 | projectTypeKey?: "software" | "service_desk" | "business"; |
479 | properties?: { [k: string]: { [k: string]: unknown } }; |
480 | retentionTillDate?: string; |
481 | roles?: { [k: string]: string }; |
482 | self?: string; |
483 | simplified?: boolean; |
484 | style?: "classic" | "next-gen"; |
485 | url?: string; |
486 | uuid?: string; |
487 | versions?: { |
488 | approvers?: { |
489 | accountId?: string; |
490 | declineReason?: string; |
491 | description?: string; |
492 | status?: string; |
493 | [k: string]: unknown; |
494 | }[]; |
495 | archived?: boolean; |
496 | description?: string; |
497 | driver?: string; |
498 | expand?: string; |
499 | id?: string; |
500 | issuesStatusForFixVersion?: { |
501 | done?: number; |
502 | inProgress?: number; |
503 | toDo?: number; |
504 | unmapped?: number; |
505 | [k: string]: unknown; |
506 | }; |
507 | moveUnfixedIssuesTo?: string; |
508 | name?: string; |
509 | operations?: { |
510 | href?: string; |
511 | iconClass?: string; |
512 | id?: string; |
513 | label?: string; |
514 | styleClass?: string; |
515 | title?: string; |
516 | weight?: number; |
517 | }[]; |
518 | overdue?: boolean; |
519 | project?: string; |
520 | projectId?: number; |
521 | releaseDate?: string; |
522 | released?: boolean; |
523 | self?: string; |
524 | startDate?: string; |
525 | userReleaseDate?: string; |
526 | userStartDate?: string; |
527 | }[]; |
528 | }; |
529 | role?: { |
530 | actors?: { |
531 | actorGroup?: { |
532 | displayName?: string; |
533 | groupId?: string; |
534 | name?: string; |
535 | }; |
536 | actorUser?: { accountId?: string }; |
537 | avatarUrl?: string; |
538 | displayName?: string; |
539 | id?: number; |
540 | name?: string; |
541 | type?: "atlassian-group-role-actor" | "atlassian-user-role-actor"; |
542 | }[]; |
543 | admin?: boolean; |
544 | currentUserRole?: boolean; |
545 | default?: boolean; |
546 | description?: string; |
547 | id?: number; |
548 | name?: string; |
549 | roleConfigurable?: boolean; |
550 | scope?: { |
551 | project?: { |
552 | avatarUrls?: { |
553 | "16x16"?: string; |
554 | "24x24"?: string; |
555 | "32x32"?: string; |
556 | "48x48"?: string; |
557 | }; |
558 | id?: string; |
559 | key?: string; |
560 | name?: string; |
561 | projectCategory?: { |
562 | description?: string; |
563 | id?: string; |
564 | name?: string; |
565 | self?: string; |
566 | }; |
567 | projectTypeKey?: "software" | "service_desk" | "business"; |
568 | self?: string; |
569 | simplified?: boolean; |
570 | }; |
571 | type?: "PROJECT" | "TEMPLATE"; |
572 | [k: string]: unknown; |
573 | }; |
574 | self?: string; |
575 | translatedName?: string; |
576 | }; |
577 | type: |
578 | | "user" |
579 | | "group" |
580 | | "project" |
581 | | "projectRole" |
582 | | "global" |
583 | | "loggedin" |
584 | | "authenticated" |
585 | | "project-unknown"; |
586 | user?: { |
587 | accountId?: string; |
588 | active?: boolean; |
589 | avatarUrls?: { |
590 | "16x16"?: string; |
591 | "24x24"?: string; |
592 | "32x32"?: string; |
593 | "48x48"?: string; |
594 | }; |
595 | displayName?: string; |
596 | key?: string; |
597 | name?: string; |
598 | self?: string; |
599 | }; |
600 | }[]; |
601 | sharePermissions: { |
602 | group?: { groupId?: string; name?: string; self?: string }; |
603 | id?: number; |
604 | project?: { |
605 | archived?: boolean; |
606 | archivedBy?: { |
607 | accountId?: string; |
608 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
609 | active?: boolean; |
610 | applicationRoles?: { |
611 | callback?: {}; |
612 | items?: { |
613 | defaultGroups?: string[]; |
614 | defaultGroupsDetails?: { |
615 | groupId?: string; |
616 | name?: string; |
617 | self?: string; |
618 | }[]; |
619 | defined?: boolean; |
620 | groupDetails?: { |
621 | groupId?: string; |
622 | name?: string; |
623 | self?: string; |
624 | }[]; |
625 | groups?: string[]; |
626 | hasUnlimitedSeats?: boolean; |
627 | key?: string; |
628 | name?: string; |
629 | numberOfSeats?: number; |
630 | platform?: boolean; |
631 | remainingSeats?: number; |
632 | selectedByDefault?: boolean; |
633 | userCount?: number; |
634 | userCountDescription?: string; |
635 | }[]; |
636 | "max-results"?: number; |
637 | pagingCallback?: {}; |
638 | size?: number; |
639 | }; |
640 | avatarUrls?: { |
641 | "16x16"?: string; |
642 | "24x24"?: string; |
643 | "32x32"?: string; |
644 | "48x48"?: string; |
645 | }; |
646 | displayName?: string; |
647 | emailAddress?: string; |
648 | expand?: string; |
649 | groups?: { |
650 | callback?: {}; |
651 | items?: { groupId?: string; name?: string; self?: string }[]; |
652 | "max-results"?: number; |
653 | pagingCallback?: {}; |
654 | size?: number; |
655 | }; |
656 | key?: string; |
657 | locale?: string; |
658 | name?: string; |
659 | self?: string; |
660 | timeZone?: string; |
661 | }; |
662 | archivedDate?: string; |
663 | assigneeType?: "PROJECT_LEAD" | "UNASSIGNED"; |
664 | avatarUrls?: { |
665 | "16x16"?: string; |
666 | "24x24"?: string; |
667 | "32x32"?: string; |
668 | "48x48"?: string; |
669 | }; |
670 | components?: { |
671 | ari?: string; |
672 | assignee?: { |
673 | accountId?: string; |
674 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
675 | active?: boolean; |
676 | applicationRoles?: { |
677 | callback?: {}; |
678 | items?: { |
679 | defaultGroups?: string[]; |
680 | defaultGroupsDetails?: { |
681 | groupId?: string; |
682 | name?: string; |
683 | self?: string; |
684 | }[]; |
685 | defined?: boolean; |
686 | groupDetails?: { |
687 | groupId?: string; |
688 | name?: string; |
689 | self?: string; |
690 | }[]; |
691 | groups?: string[]; |
692 | hasUnlimitedSeats?: boolean; |
693 | key?: string; |
694 | name?: string; |
695 | numberOfSeats?: number; |
696 | platform?: boolean; |
697 | remainingSeats?: number; |
698 | selectedByDefault?: boolean; |
699 | userCount?: number; |
700 | userCountDescription?: string; |
701 | }[]; |
702 | "max-results"?: number; |
703 | pagingCallback?: {}; |
704 | size?: number; |
705 | }; |
706 | avatarUrls?: { |
707 | "16x16"?: string; |
708 | "24x24"?: string; |
709 | "32x32"?: string; |
710 | "48x48"?: string; |
711 | }; |
712 | displayName?: string; |
713 | emailAddress?: string; |
714 | expand?: string; |
715 | groups?: { |
716 | callback?: {}; |
717 | items?: { groupId?: string; name?: string; self?: string }[]; |
718 | "max-results"?: number; |
719 | pagingCallback?: {}; |
720 | size?: number; |
721 | }; |
722 | key?: string; |
723 | locale?: string; |
724 | name?: string; |
725 | self?: string; |
726 | timeZone?: string; |
727 | }; |
728 | assigneeType?: |
729 | | "PROJECT_DEFAULT" |
730 | | "COMPONENT_LEAD" |
731 | | "PROJECT_LEAD" |
732 | | "UNASSIGNED"; |
733 | description?: string; |
734 | id?: string; |
735 | isAssigneeTypeValid?: boolean; |
736 | lead?: { |
737 | accountId?: string; |
738 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
739 | active?: boolean; |
740 | applicationRoles?: { |
741 | callback?: {}; |
742 | items?: { |
743 | defaultGroups?: string[]; |
744 | defaultGroupsDetails?: { |
745 | groupId?: string; |
746 | name?: string; |
747 | self?: string; |
748 | }[]; |
749 | defined?: boolean; |
750 | groupDetails?: { |
751 | groupId?: string; |
752 | name?: string; |
753 | self?: string; |
754 | }[]; |
755 | groups?: string[]; |
756 | hasUnlimitedSeats?: boolean; |
757 | key?: string; |
758 | name?: string; |
759 | numberOfSeats?: number; |
760 | platform?: boolean; |
761 | remainingSeats?: number; |
762 | selectedByDefault?: boolean; |
763 | userCount?: number; |
764 | userCountDescription?: string; |
765 | }[]; |
766 | "max-results"?: number; |
767 | pagingCallback?: {}; |
768 | size?: number; |
769 | }; |
770 | avatarUrls?: { |
771 | "16x16"?: string; |
772 | "24x24"?: string; |
773 | "32x32"?: string; |
774 | "48x48"?: string; |
775 | }; |
776 | displayName?: string; |
777 | emailAddress?: string; |
778 | expand?: string; |
779 | groups?: { |
780 | callback?: {}; |
781 | items?: { groupId?: string; name?: string; self?: string }[]; |
782 | "max-results"?: number; |
783 | pagingCallback?: {}; |
784 | size?: number; |
785 | }; |
786 | key?: string; |
787 | locale?: string; |
788 | name?: string; |
789 | self?: string; |
790 | timeZone?: string; |
791 | }; |
792 | leadAccountId?: string; |
793 | leadUserName?: string; |
794 | metadata?: { [k: string]: string }; |
795 | name?: string; |
796 | project?: string; |
797 | projectId?: number; |
798 | realAssignee?: { |
799 | accountId?: string; |
800 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
801 | active?: boolean; |
802 | applicationRoles?: { |
803 | callback?: {}; |
804 | items?: { |
805 | defaultGroups?: string[]; |
806 | defaultGroupsDetails?: { |
807 | groupId?: string; |
808 | name?: string; |
809 | self?: string; |
810 | }[]; |
811 | defined?: boolean; |
812 | groupDetails?: { |
813 | groupId?: string; |
814 | name?: string; |
815 | self?: string; |
816 | }[]; |
817 | groups?: string[]; |
818 | hasUnlimitedSeats?: boolean; |
819 | key?: string; |
820 | name?: string; |
821 | numberOfSeats?: number; |
822 | platform?: boolean; |
823 | remainingSeats?: number; |
824 | selectedByDefault?: boolean; |
825 | userCount?: number; |
826 | userCountDescription?: string; |
827 | }[]; |
828 | "max-results"?: number; |
829 | pagingCallback?: {}; |
830 | size?: number; |
831 | }; |
832 | avatarUrls?: { |
833 | "16x16"?: string; |
834 | "24x24"?: string; |
835 | "32x32"?: string; |
836 | "48x48"?: string; |
837 | }; |
838 | displayName?: string; |
839 | emailAddress?: string; |
840 | expand?: string; |
841 | groups?: { |
842 | callback?: {}; |
843 | items?: { groupId?: string; name?: string; self?: string }[]; |
844 | "max-results"?: number; |
845 | pagingCallback?: {}; |
846 | size?: number; |
847 | }; |
848 | key?: string; |
849 | locale?: string; |
850 | name?: string; |
851 | self?: string; |
852 | timeZone?: string; |
853 | }; |
854 | realAssigneeType?: |
855 | | "PROJECT_DEFAULT" |
856 | | "COMPONENT_LEAD" |
857 | | "PROJECT_LEAD" |
858 | | "UNASSIGNED"; |
859 | self?: string; |
860 | }[]; |
861 | deleted?: boolean; |
862 | deletedBy?: { |
863 | accountId?: string; |
864 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
865 | active?: boolean; |
866 | applicationRoles?: { |
867 | callback?: {}; |
868 | items?: { |
869 | defaultGroups?: string[]; |
870 | defaultGroupsDetails?: { |
871 | groupId?: string; |
872 | name?: string; |
873 | self?: string; |
874 | }[]; |
875 | defined?: boolean; |
876 | groupDetails?: { |
877 | groupId?: string; |
878 | name?: string; |
879 | self?: string; |
880 | }[]; |
881 | groups?: string[]; |
882 | hasUnlimitedSeats?: boolean; |
883 | key?: string; |
884 | name?: string; |
885 | numberOfSeats?: number; |
886 | platform?: boolean; |
887 | remainingSeats?: number; |
888 | selectedByDefault?: boolean; |
889 | userCount?: number; |
890 | userCountDescription?: string; |
891 | }[]; |
892 | "max-results"?: number; |
893 | pagingCallback?: {}; |
894 | size?: number; |
895 | }; |
896 | avatarUrls?: { |
897 | "16x16"?: string; |
898 | "24x24"?: string; |
899 | "32x32"?: string; |
900 | "48x48"?: string; |
901 | }; |
902 | displayName?: string; |
903 | emailAddress?: string; |
904 | expand?: string; |
905 | groups?: { |
906 | callback?: {}; |
907 | items?: { groupId?: string; name?: string; self?: string }[]; |
908 | "max-results"?: number; |
909 | pagingCallback?: {}; |
910 | size?: number; |
911 | }; |
912 | key?: string; |
913 | locale?: string; |
914 | name?: string; |
915 | self?: string; |
916 | timeZone?: string; |
917 | }; |
918 | deletedDate?: string; |
919 | description?: string; |
920 | email?: string; |
921 | expand?: string; |
922 | favourite?: boolean; |
923 | id?: string; |
924 | insight?: { lastIssueUpdateTime?: string; totalIssueCount?: number }; |
925 | isPrivate?: boolean; |
926 | issueTypeHierarchy?: { |
927 | baseLevelId?: number; |
928 | levels?: { |
929 | aboveLevelId?: number; |
930 | belowLevelId?: number; |
931 | externalUuid?: string; |
932 | hierarchyLevelNumber?: number; |
933 | id?: number; |
934 | issueTypeIds?: number[]; |
935 | level?: number; |
936 | name?: string; |
937 | projectConfigurationId?: number; |
938 | }[]; |
939 | }; |
940 | issueTypes?: { |
941 | avatarId?: number; |
942 | description?: string; |
943 | entityId?: string; |
944 | hierarchyLevel?: number; |
945 | iconUrl?: string; |
946 | id?: string; |
947 | name?: string; |
948 | scope?: { |
949 | project?: { |
950 | avatarUrls?: { |
951 | "16x16"?: string; |
952 | "24x24"?: string; |
953 | "32x32"?: string; |
954 | "48x48"?: string; |
955 | }; |
956 | id?: string; |
957 | key?: string; |
958 | name?: string; |
959 | projectCategory?: { |
960 | description?: string; |
961 | id?: string; |
962 | name?: string; |
963 | self?: string; |
964 | }; |
965 | projectTypeKey?: "software" | "service_desk" | "business"; |
966 | self?: string; |
967 | simplified?: boolean; |
968 | }; |
969 | type?: "PROJECT" | "TEMPLATE"; |
970 | [k: string]: unknown; |
971 | }; |
972 | self?: string; |
973 | subtask?: boolean; |
974 | }[]; |
975 | key?: string; |
976 | landingPageInfo?: { |
977 | attributes?: { [k: string]: string }; |
978 | boardId?: number; |
979 | boardName?: string; |
980 | projectKey?: string; |
981 | projectType?: string; |
982 | queueCategory?: string; |
983 | queueId?: number; |
984 | queueName?: string; |
985 | simpleBoard?: boolean; |
986 | simplified?: boolean; |
987 | url?: string; |
988 | }; |
989 | lead?: { |
990 | accountId?: string; |
991 | accountType?: "atlassian" | "app" | "customer" | "unknown"; |
992 | active?: boolean; |
993 | applicationRoles?: { |
994 | callback?: {}; |
995 | items?: { |
996 | defaultGroups?: string[]; |
997 | defaultGroupsDetails?: { |
998 | groupId?: string; |
999 | name?: string; |
1000 | self?: string; |
1001 | }[]; |
1002 | defined?: boolean; |
1003 | groupDetails?: { |
1004 | groupId?: string; |
1005 | name?: string; |
1006 | self?: string; |
1007 | }[]; |
1008 | groups?: string[]; |
1009 | hasUnlimitedSeats?: boolean; |
1010 | key?: string; |
1011 | name?: string; |
1012 | numberOfSeats?: number; |
1013 | platform?: boolean; |
1014 | remainingSeats?: number; |
1015 | selectedByDefault?: boolean; |
1016 | userCount?: number; |
1017 | userCountDescription?: string; |
1018 | }[]; |
1019 | "max-results"?: number; |
1020 | pagingCallback?: {}; |
1021 | size?: number; |
1022 | }; |
1023 | avatarUrls?: { |
1024 | "16x16"?: string; |
1025 | "24x24"?: string; |
1026 | "32x32"?: string; |
1027 | "48x48"?: string; |
1028 | }; |
1029 | displayName?: string; |
1030 | emailAddress?: string; |
1031 | expand?: string; |
1032 | groups?: { |
1033 | callback?: {}; |
1034 | items?: { groupId?: string; name?: string; self?: string }[]; |
1035 | "max-results"?: number; |
1036 | pagingCallback?: {}; |
1037 | size?: number; |
1038 | }; |
1039 | key?: string; |
1040 | locale?: string; |
1041 | name?: string; |
1042 | self?: string; |
1043 | timeZone?: string; |
1044 | }; |
1045 | name?: string; |
1046 | permissions?: { canEdit?: boolean }; |
1047 | projectCategory?: { |
1048 | description?: string; |
1049 | id?: string; |
1050 | name?: string; |
1051 | self?: string; |
1052 | }; |
1053 | projectTypeKey?: "software" | "service_desk" | "business"; |
1054 | properties?: { [k: string]: { [k: string]: unknown } }; |
1055 | retentionTillDate?: string; |
1056 | roles?: { [k: string]: string }; |
1057 | self?: string; |
1058 | simplified?: boolean; |
1059 | style?: "classic" | "next-gen"; |
1060 | url?: string; |
1061 | uuid?: string; |
1062 | versions?: { |
1063 | approvers?: { |
1064 | accountId?: string; |
1065 | declineReason?: string; |
1066 | description?: string; |
1067 | status?: string; |
1068 | [k: string]: unknown; |
1069 | }[]; |
1070 | archived?: boolean; |
1071 | description?: string; |
1072 | driver?: string; |
1073 | expand?: string; |
1074 | id?: string; |
1075 | issuesStatusForFixVersion?: { |
1076 | done?: number; |
1077 | inProgress?: number; |
1078 | toDo?: number; |
1079 | unmapped?: number; |
1080 | [k: string]: unknown; |
1081 | }; |
1082 | moveUnfixedIssuesTo?: string; |
1083 | name?: string; |
1084 | operations?: { |
1085 | href?: string; |
1086 | iconClass?: string; |
1087 | id?: string; |
1088 | label?: string; |
1089 | styleClass?: string; |
1090 | title?: string; |
1091 | weight?: number; |
1092 | }[]; |
1093 | overdue?: boolean; |
1094 | project?: string; |
1095 | projectId?: number; |
1096 | releaseDate?: string; |
1097 | released?: boolean; |
1098 | self?: string; |
1099 | startDate?: string; |
1100 | userReleaseDate?: string; |
1101 | userStartDate?: string; |
1102 | }[]; |
1103 | }; |
1104 | role?: { |
1105 | actors?: { |
1106 | actorGroup?: { |
1107 | displayName?: string; |
1108 | groupId?: string; |
1109 | name?: string; |
1110 | }; |
1111 | actorUser?: { accountId?: string }; |
1112 | avatarUrl?: string; |
1113 | displayName?: string; |
1114 | id?: number; |
1115 | name?: string; |
1116 | type?: "atlassian-group-role-actor" | "atlassian-user-role-actor"; |
1117 | }[]; |
1118 | admin?: boolean; |
1119 | currentUserRole?: boolean; |
1120 | default?: boolean; |
1121 | description?: string; |
1122 | id?: number; |
1123 | name?: string; |
1124 | roleConfigurable?: boolean; |
1125 | scope?: { |
1126 | project?: { |
1127 | avatarUrls?: { |
1128 | "16x16"?: string; |
1129 | "24x24"?: string; |
1130 | "32x32"?: string; |
1131 | "48x48"?: string; |
1132 | }; |
1133 | id?: string; |
1134 | key?: string; |
1135 | name?: string; |
1136 | projectCategory?: { |
1137 | description?: string; |
1138 | id?: string; |
1139 | name?: string; |
1140 | self?: string; |
1141 | }; |
1142 | projectTypeKey?: "software" | "service_desk" | "business"; |
1143 | self?: string; |
1144 | simplified?: boolean; |
1145 | }; |
1146 | type?: "PROJECT" | "TEMPLATE"; |
1147 | [k: string]: unknown; |
1148 | }; |
1149 | self?: string; |
1150 | translatedName?: string; |
1151 | }; |
1152 | type: |
1153 | | "user" |
1154 | | "group" |
1155 | | "project" |
1156 | | "projectRole" |
1157 | | "global" |
1158 | | "loggedin" |
1159 | | "authenticated" |
1160 | | "project-unknown"; |
1161 | user?: { |
1162 | accountId?: string; |
1163 | active?: boolean; |
1164 | avatarUrls?: { |
1165 | "16x16"?: string; |
1166 | "24x24"?: string; |
1167 | "32x32"?: string; |
1168 | "48x48"?: string; |
1169 | }; |
1170 | displayName?: string; |
1171 | key?: string; |
1172 | name?: string; |
1173 | self?: string; |
1174 | }; |
1175 | }[]; |
1176 | }; |
1177 | } |
1178 | ) { |
1179 | const url = new URL( |
1180 | `https://${auth.domain}.atlassian.net/rest/api/2/dashboard/bulk/edit` |
1181 | ); |
1182 |
|
1183 | const response = await fetch(url, { |
1184 | method: "PUT", |
1185 | headers: { |
1186 | "Content-Type": "application/json", |
1187 | Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`), |
1188 | }, |
1189 | body: JSON.stringify(body), |
1190 | }); |
1191 | if (!response.ok) { |
1192 | const text = await response.text(); |
1193 | throw new Error(`${response.status} ${text}`); |
1194 | } |
1195 | return await response.json(); |
1196 | } |
1197 |
|