Private/Wizard/Send-CgrActivityEvent.ps1
|
function Send-CgrActivityEvent { [CmdletBinding()] param( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string] $Name, [Parameter(Mandatory)] [ValidateSet('Started', 'Progress', 'Completed', 'Info', 'Warning', 'Failed')] [string] $State, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string] $Message, [Nullable[int]] $Current, [Nullable[int]] $Total ) $sinkVariable = Get-Variable -Name CgrActivitySink -Scope Script -ErrorAction SilentlyContinue if ($null -eq $sinkVariable -or $null -eq $sinkVariable.Value) { return } $activityEvent = [pscustomobject] @{ PSTypeName = 'CopyGitHubRepo.ActivityEvent' Name = $Name State = $State Message = $Message Timestamp = [DateTimeOffset]::UtcNow Current = $Current Total = $Total } & $sinkVariable.Value $activityEvent | Out-Null } |