Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagepowershell
titleForward Task History Report Log (Linux version)
linenumberstrue
collapsetrue
<?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>

...