Public/Jira/Dashboards/Set-AtlassianCloudJiraDashboardBulk.ps1
function Set-AtlassianCloudJiraDashboardBulk{ [CmdletBinding()] param( [Parameter(Mandatory, Position=0)] [ValidateNotNullOrEmpty()] [int[]]$Id, [Parameter(Mandatory, Position=1)] [ValidateSet('cahngeOwner','changePermission','addPermission','removePermission')] [string]$Action, [Parameter(Mandatory = $false, Position=2)] [string]$NewOwner, [Parameter(Mandatory = $false, Position=3)] [bool]$NewOwnerAutoFixName, [Parameter(Mandatory = $false, Position=4)] [bool]$ExtendAdminPermissions, [Parameter(Mandatory = $false, Position=5)] [psboject]$EditPermissions, [Parameter(Mandatory = $false, Position=6)] [psboject]$SharePermissions, [Parameter(Mandatory, Position=7)] [ValidateNotNullOrEmpty()] [string]$AtlassianOrgName, [Parameter(Mandatory, Position=8)] [ValidateNotNullOrEmpty()] [string]$Pat ) $ids = @() foreach ($i in $Id) { $ids += $i } $data = @{ entityIds = $ids action = $Action } switch ($Action) { 'changeOwner' { $data += @{ changeOwnerDetails = @{ autoFixName = $NewOwnerAutoFixName newOwner = $NewOwner } } } 'changePermission' { $data += @{ extendAdminPermissions = $ExtendAdminPermissions permissionDetails = @{ editPermissions = $EditPermissions sharePermissions = $SharePermissions } } } 'addPermission' { $data += @{ extendAdminPermissions = $ExtendAdminPermissions permissionDetails = @{ editPermissions = $EditPermissions sharePermissions = $SharePermissions } } } 'removePermission' { $data += @{ extendAdminPermissions = $ExtendAdminPermissions permissionDetails = @{ editPermissions = $EditPermissions sharePermissions = $SharePermissions } } } } return Invoke-AtlassianCloudJiraMethod -Method Put -Data $data -AtlassianOrgName $AtlassianOrgName -Endpoint "dashboard/$Id" -Pat $Pat -Experimental -Verbose:($Verbose.IsPresent) } |