OEC (Windows Service) action with PowerShell - how do I see (grab) the alert parameters or payload?

tolkien_leung May 26, 2021

Can someone provide an example of the OEC json configuration and the powershell method to capture the globalargs passed?

1 answer

0 votes
Connor Eyles
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 26, 2021

Hi @tolkien_leung 

Here are some instructions on how to handle OEC payload in Powershell:

The environment this was tested in is Windows 2012 and above… Powershell 3 and above.

Starting at linerps 1 of your PowerShell script you should define the parameters that PowerShell is expected to receive from OEC, these are payload, apiKey, opsgenieUrl, and logLevel.

param([string]$payload,
[string]$apiKey,
[string]$opsgenieUrl,
[string]$logLevel)

Once the parameters have been defined you need to convert the payload from JSON to a Powershell object.

$payloadPsObj = $payload | ConvertFrom-Json

Now you can call your data like this, to get the payload data you can use $payloadPsObj.<Namespace or array index>, for example, the below will get you the alertId from the payload:

$alertDetails = $payloadPsObj.alert
$alertId = $alertDetails.alertId

echo $alertId

The full final script should look like this:

param([string]$payload,
[string]$apiKey,
[string]$opsgenieUrl,
[string]$logLevel)

$payloadPsObj = $payload | ConvertFrom-Json

$alertDetails = $payloadPsObj.alert
$alertId = $alertDetails.alertId

echo $alertId

Thanks,

Connor

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events