Private/ConvertTo-BatchRequest.ps1
function ConvertTo-BatchRequest { param( [Parameter()] [string] $URI, [Parameter()] [string] [ValidateSet('POST','PATCH')] $Method, [Parameter()] [string] $Body, [Parameter()] [Switch] $ExcludeResponseHeaders ) if($URI -notmatch "(?<=service-now.com).*"){ Throw "URI did not match https://*.service-now.com* format." } $BatchRequest = @{ id = (new-guid).guid url = $Matches[0] method = $Method headers = @( @{ 'name' = 'Content-Type' 'value' = 'application/json' }, @{ 'name' = 'Accept' 'value' = 'application/json' } ) exclude_response_headers = $ExcludeResponseHeaders.IsPresent body = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($Body)) } return $BatchRequest } |