Modules/businessdev.ALbuild.Marketplace/Public/Get-BcMarketplaceSubmission.ps1
|
function Get-BcMarketplaceSubmission { <# .SYNOPSIS Retrieves a product's submission(s) from the Partner Center ingestion API. .PARAMETER AuthContext Auth context (Partner Center scope: 'https://api.partner.microsoft.com/.default'). .PARAMETER ProductId The product id (with or without the 'product/' prefix). .PARAMETER SubmissionId Optional submission id. If omitted, the latest submission is returned. .OUTPUTS The submission object (latest, or the requested one). #> [CmdletBinding()] param( [Parameter(Mandatory)] [PSCustomObject] $AuthContext, [Parameter(Mandatory)] [string] $ProductId, [string] $SubmissionId ) $cleanProductId = $ProductId -replace '^product/', '' $headers = @{ Authorization = "Bearer $($AuthContext.AccessToken)" } $baseUrl = "https://api.partner.microsoft.com/v1.0/ingestion/products/$cleanProductId" if ($SubmissionId) { return Invoke-RestMethod -Uri "$baseUrl/submissions/$SubmissionId" -Headers $headers -Method Get -ErrorAction Stop } $response = Invoke-RestMethod -Uri "$baseUrl/submissions" -Headers $headers -Method Get -ErrorAction Stop return @($response.value | Sort-Object -Property releaseNumber -Descending | Select-Object -First 1) } |