0

Update dashboard

by
Published Nov 2, 2023

Updates a dashboard, replacing all the dashboard details with those provided. **[Permissions](#permissions) required:** None The dashboard to be updated must be owned by the user.

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