scripts/resubmit-all-failed-runs/resubmit-all-failed-runs.ps1 (17 lines of code) (raw):
$startDateTime = Get-Date -Date '11/21/2018 5:00:00 PM'
$endDateTime = Get-Date -Date '11/21/2018 6:00:00 PM'
$subscription = Get-AzSubscription -SubscriptionName "Name of the subscription"
$cotnext = $subscription | Set-AzContext
$tokens = $cotnext.TokenCache.ReadItems() | where { $_.TenantId -eq $cotnext.Subscription.TenantId } | Sort-Object -Property ExpiresOn -Descending
$token = $tokens[0].AccessToken
$logicApps = Get-AzResource -ResourceType Microsoft.Logic/workflows <# | where { $_.ResourceGroupName -eq 'LoremIpsum'} #>
Foreach ($la in $logicApps) {
$runs = Get-AzLogicAppRunHistory -ResourceGroupName $la.ResourceGroupName -Name $la.name | where { $_.Status -eq 'Failed' } | where { $_.StartTime -gt $startDateTime -and $_.StartTime -lt $endDateTime }
$headers = @{
'Authorization' = 'Bearer ' + $token
}
Foreach($run in $runs) {
$uri = 'https://management.azure.com/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Logic/workflows/{2}/triggers/{3}/histories/{4}/resubmit?api-version=2016-06-01' -f $subscription.Id, $la.ResourceGroupName, $la.Name, $run.Trigger.Name, $run.Name
Invoke-RestMethod -Method 'POST' -Uri $uri -Headers $headers
}
}