The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

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

tolkien_leung
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
May 26, 2021

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

1 answer

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

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

TAGS
AUG Leaders

Atlassian Community Events