text: param(
    [Parameter(Mandatory=$true)][string] $SourceRepo,
    [Parameter(Mandatory=$true)][int] $ChannelId,
    [Parameter(Mandatory=$true)][string] $MaestroApiAccessToken,
    [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro-prod.westus2.cloudapp.azure.com',
    [Parameter(Mandatory=$false)][string] $MaestroApiVersion = '2019-01-16'
  )
  
  try {
    . $PSScriptRoot\post-build-utils.ps1
  
    # Get all the $SourceRepo subscriptions
    $normalizedSourceRepo = $SourceRepo.Replace('dnceng@', '')
    $subscriptions = Get-MaestroSubscriptions -SourceRepository $normalizedSourceRepo -ChannelId $ChannelId
  
    if (!$subscriptions) {
      Write-PipelineTelemetryError -Category 'TriggerSubscriptions' -Message "No subscriptions found for source repo '$normalizedSourceRepo' in channel '$ChannelId'"
      ExitWithExitCode 0
    }
  
    $subscriptionsToTrigger = New-Object System.Collections.Generic.List[string]
    $failedTriggeredSubscription = $false
  
    # Get all enabled subscriptions that need dependency flow on 'everyBuild'
    foreach ($subscription in $subscriptions) {
      if ($subscription.enabled -and $subscription.policy.updateFrequency -like 'everyBuild' -and $subscription.channel.id -eq $ChannelId) {
        Write-Host "Should trigger this subscription: ${$subscription.id}"
        [void]$subscriptionsToTrigger.Add($subscription.id)
      }
    }
  
    foreach ($subscriptionToTrigger in $subscriptionsToTrigger) {
      try {
        Write-Host "Triggering subscription '$subscriptionToTrigger'."
  
        Trigger-Subscription -SubscriptionId $subscriptionToTrigger
      
        Write-Host 'done.'
      } 
      catch
      {
        Write-Host "There was an error while triggering subscription '$subscriptionToTrigger'"
        Write-Host $_
        Write-Host $_.ScriptStackTrace
        $failedTriggeredSubscription = $true
      }
    }
  
    if ($subscriptionsToTrigger.Count -eq 0) {
      Write-Host "No subscription matched source repo '$normalizedSourceRepo' and channel ID '$ChannelId'."
    }
    elseif ($failedTriggeredSubscription) {
      Write-PipelineTelemetryError -Category 'TriggerSubscriptions' -Message 'At least one subscription failed to be triggered...'
      ExitWithExitCode 1
    }
    else {
      Write-Host 'All subscriptions were triggered successfully!'
    }
  }
  catch {
    Write-Host $_.ScriptStackTrace
    Write-PipelineTelemetryError -Category 'TriggerSubscriptions' -Message $_
    ExitWithExitCode 1
  }
  