Versions Compared

Key

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

...

Code Block
languagepowershell
titlePrint Context
collapsetrue
write-output 1
write-output 'Printing context'

# print the expected context file
write-output "---- Parsing context file: `n$PSScriptRoot\wsla${ENV:WSL_SEQUENCE}.objects"
if (Test-Path -path "$PSScriptRoot\wsla${ENV:WSL_SEQUENCE}.objects") { 
  # Parse json .objects file
  $json = Get-Content "$PSScriptRoot\wsla${ENV:WSL_SEQUENCE}.objects" | Out-String | ConvertFrom-Json

  # Context
  write-output "`n---- Context: $($json.context)"

  # Group
  if ($json.group -ne $null) {
    write-output "---- Group: $($json.group)"
  }

  # Projects
  if ($json.project -ne $null) {
    write-output "---- Project(s):"
    $json.project
  }

  # Objects
  if ($json.objectsByName -ne $null) {
    # print objects
    $htRedObjects = [ordered]@{}
    # Populates a hastable with obj-name as Key and obj-type as Value from RED formatted json 
    $json.objectsByName | get-member -type properties | %{ $htRedObjects[$_.name] = $json.objectsByName."$($_.name)".objectType.name }
    $htRedObjects.Keys | select @{label='Object Name';expression={$_}}, @{label='Object Type';expression={$htRedObjects.$_}}
  }

  # Jobs
  if ($json.jobsByName -ne $null) {
    # print jobs
    write-output "`n---- Jobs:"
    $redJobs=@()
    $redJobs = $json.jobsByName
    $redJobs
  }

  # Parameters
  if ($json.parametersByName -ne $null) {
    # print parameters
    write-output "`n---- Parameters:"
    $redParams=@()
    $redParams = $json.parametersByName
    $redParams
  }

}
else {
  write-output "*** Error: Objects file doesn't exist as there were no objects in the current context. ***"
}

...