...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="UTF-8" ?> <job title="Report Task History" process_class="agent_linux"> <params> <param name="history_results_directory" value="/home/js/history"/> </params> <script language="shell"><![CDATA[ pwsh -NoLogo -NonInteractive -Command '& { . $env:SCHEDULER_DATA/config/powershell/JobScheduler.PowerShell_profile.ps1; Import-Module $env:SCHEDULER_DATA/config/powershell/Modules/ImportExcel; Import-Module $env:SCHEDULER_DATA/config/powershell/Modules/JobScheduler; Connect-JS -Url $JOCCockpitUrl -Credential $JOCCockpitCredential | Out-Null; # Dates in local timezone, output includes local date format Get-JSTaskHistorymkdir -Timezone (Get-Timezone ) `p /tmp/history $env:SCHEDULER_PARAM_HISTORY_RESULTS_DIRECTORY # retrieve last history results if available if ( | Select-ObjectTest-Path -Property @{name="JobScheduler ID"; expression={$_.jobschedulerId}}, ` Path "$($env:SCHEDULER_PARAM_HISTORY_RESULTS_DIRECTORY)/task.history" -ErrorAction continue ) { $lastHistory = @{name="Task ID"; expression={$_.taskId}}, `Import-Clixml -Path "$($env:SCHEDULER_PARAM_HISTORY_RESULTS_DIRECTORY)/task.history"; } else { $lastHistory = Get-JobSchedulerTaskHistory -RelativeDateFrom -8h | Sort-Object @{name="Job"; expression={$_.job}}, ` @{name="Status"; expression={$_.state._text}}, `-Property startTime; } # Copy log files to target directory @{name="Start Time"; expression={ Get-Date $_.startTime }}, ` @{name="End TimeGet-JSTaskHistory -DateFrom $lastHistory[0].startTime | Tee-Object -Variable lastHistory | Get-JobSchedulerTaskLog | Select-Object @{name="path"; expression={ "$env:SCHEDULER_PARAM_HISTORY_RESULTS_DIRECTORY/$(Get-Date $_.endTime }}, ` @{name="Duration (sec.)"; expression={ (New-Timespan -Start "$($_.startTime)" -End "$($_.endTime)").Seconds }}, ` startTime -f 'yyyyMMdd-hhmmss')-$([io.path]::GetFileNameWithoutExtension($_.job)).log"}}, @{name="Criticalityvalue"; expression={ $_.criticalitylog }}, ` | Set-Content; # store last history results to a file for later retrieval $lastHistory | @{name="Exit Code"; expression={$_.exitCode}} ` Export-Clixml -Path "$env:SCHEDULER_PARAM_HISTORY_RESULTS_DIRECTORY/task.history"; | Export-Excel -Path /tmp/jobscheduler_reporting.xlsx -WorksheetName "Task-History" -ClearSheet; Write-Output ".. logs reportforwarded createdto: /tmp/jobscheduler_reporting.xls$env:SCHEDULER_PARAM_HISTORY_RESULTS_DIRECTORY"; }' ]]></script> <run_time/> </job> </job> |
...