Modules/AzureDevOpsDsc.Common/Api/Functions/Private/Api/ServiceHook/New-DevOpsServiceHookSubscription.ps1
|
<#
.SYNOPSIS Creates a service hook subscription in Azure DevOps. .DESCRIPTION Creates a subscription via the Service Hooks REST API (POST https://dev.azure.com/{org}/_apis/hooks/subscriptions). .PARAMETER Organization The name of the Azure DevOps organization. .PARAMETER Subscription A hashtable describing the subscription (publisherId, eventType, resourceVersion, consumerId, consumerActionId, publisherInputs, consumerInputs). .PARAMETER ApiVersion The REST API version to use. Defaults to '7.1'. .EXAMPLE New-DevOpsServiceHookSubscription -Organization 'myorg' -Subscription $sub #> function New-DevOpsServiceHookSubscription { [CmdletBinding(SupportsShouldProcess = $true)] param ( [Parameter(Mandatory = $true)] [string]$Organization, [Parameter(Mandatory = $true)] [hashtable]$Subscription, [Parameter()] [string]$ApiVersion = '7.1' ) $params = @{ Uri = 'https://dev.azure.com/{0}/_apis/hooks/subscriptions?api-version={1}' -f $Organization, $ApiVersion Method = 'POST' Body = $Subscription | ConvertTo-Json -Depth 6 } if (-not $PSCmdlet.ShouldProcess($Subscription.eventType, 'Create service hook subscription')) { return } try { return Invoke-AzDevOpsApiRestMethod @params } catch { throw "[New-DevOpsServiceHookSubscription] Failed to create subscription in '$Organization': $_" } } |