Modules/businessdev.ALbuild.Marketplace/Public/Invoke-BcMarketplacePromotion.ps1
|
function Invoke-BcMarketplacePromotion { <# .SYNOPSIS Promotes a validated Marketplace submission to live. .PARAMETER AuthContext Auth context (Partner Center scope). .PARAMETER ProductId The product id. .PARAMETER SubmissionId The submission id to promote. .OUTPUTS The updated submission status object. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter(Mandatory)] [PSCustomObject] $AuthContext, [Parameter(Mandatory)] [string] $ProductId, [Parameter(Mandatory)] [string] $SubmissionId ) $cleanProductId = $ProductId -replace '^product/', '' $headers = @{ Authorization = "Bearer $($AuthContext.AccessToken)"; 'Content-Type' = 'application/json' } $baseUrl = "https://api.partner.microsoft.com/v1.0/ingestion/products/$cleanProductId" if (-not $PSCmdlet.ShouldProcess($SubmissionId, 'Promote Marketplace submission to live')) { return } Invoke-RestMethod -Uri "$baseUrl/submissions/$SubmissionId/promote" -Method Post -Headers $headers -Body '{}' -ErrorAction Stop | Out-Null Write-ALbuildLog -Level Success "Promoted submission $SubmissionId to live." return (Invoke-RestMethod -Uri "$baseUrl/submissions/$SubmissionId" -Method Get -Headers $headers -ErrorAction Stop) } |