Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,359,854
Community Members
 
Community Events
168
Community Groups

How to parse Json problem Detail field in opsgenie

Dear all,

We are actually testing Dynatrace integration with Opsgenie. For that we use teh Dynatrace webHook v2.

During our test we receive the following sample json inside variable Problem Detail json:

{id=5017950126589695604_1623155880000V2, startTime=1623155880000, endTime=-1, displayName=P-210653, impactLevel=INFRASTRUCTURE, status=OPEN, severityLevel=CUSTOM_ALERT, commentCount=0, tagsOfAffectedEntities=[{context=CONTEXTLESS, key=Retail-preprod}, {context=AZURE, key=Deployed by, value=Azure DevOps}, {context=AZURE, key=Infrastructure Artifact Version, value=1.3.0}], rankedEvents=[{startTime=1623155880000, endTime=-1, entityId=CUSTOM_DEVICE-049862F797750387, entityName=afd-xr-expro-preprod, severityLevel=CUSTOM_ALERT, impactLevel=INFRASTRUCTURE, eventType=CUSTOM_ALERT, status=OPEN, severities=[], isRootCause=false}], rankedImpacts=[{entityId=CUSTOM_DEVICE-049862F797750387, entityName=afd-xr-expro-preprod, severityLevel=CUSTOM_ALERT, impactLevel=INFRASTRUCTURE, eventType=CUSTOM_ALERT}], affectedCounts={INFRASTRUCTURE=1, SERVICE=0, APPLICATION=0, ENVIRONMENT=0}, recoveredCounts={INFRASTRUCTURE=0, SERVICE=0, APPLICATION=0, ENVIRONMENT=0}, hasRootCause=false}

 

from that json field we would like to extract fields value in bold in order to store them in an extra properties as below :

Impacted Level : INFRASTRUCTURE

Entity Name : afd-xr-expro-preprod

What is the way to parse this data using regex ?

Thanks for help

regards

 

2 answers

0 votes

/impactLevel=.*?,/

hopefullly you can work out the rest.

hello @Danyal Iqbal , how can I format what you sugest and from where?

I doubt that this will work because in the payload I have 3 different places where the impactLevel is set.

will it return the first one it finds out or all 3 ?

regards

0 votes
Nick H Atlassian Team Jun 08, 2021

Hi @serge calderara ,

Based on that payload, you should be able to extract the Impacted Level and Entity Name using some form of string processing: https://support.atlassian.com/opsgenie/docs/string-processing-methods-in-opsgenie-integrations/

I think what you need for both of those would be something like:

Impacted Level: {{ _payload.substringBetween("impactLevel=",",") }}

Entity Name: {{ _payload.substringBetween("entityName=",",") }}

 

You could also consider using some form of regex to extract this data as well: https://support.atlassian.com/opsgenie/docs/regular-expressions-for-improved-alert-filtering/

 

Hope this helps! Let us know whether or not this works, if you run into any other questions / issues, etc.

-Nick

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Jira

Online AMA this week: Your project management questions answered by Jira Design Lead James Rotanson

We know that great teams require amazing project management chops. It's no surprise that great teams who use Jira have strong project managers, effective workflows, and secrets that bring planning ...

172 views 1 6
Read article

Atlassian Community Events