Private/ConvertTo-PlumberResult.ps1
|
function ConvertTo-PlumberResult { <# .SYNOPSIS Converts an Invoke-Build result into a Plumber result summary. #> [CmdletBinding()] [OutputType([pscustomobject])] param ( [Parameter(Mandatory)] [pscustomobject] $BuildResult ) $tasks = @( foreach ($task in $BuildResult.Tasks) { $errorText = if ($task.Error) { $task.Error.ToString() } else { $null } [pscustomobject]@{ Name = $task.Name Status = if ($task.Error) {'Failed'} else {'Passed'} Error = $errorText } } ) $failures = @($tasks | Where-Object {$_.Status -eq 'Failed'}) [pscustomobject]@{ Success = $failures.Count -eq 0 Passed = @($tasks | Where-Object {$_.Status -eq 'Passed'}).Count Failed = $failures.Count Tasks = $tasks Failures = $failures } } |