Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

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
Danyal Iqbal Community Leader Jun 08, 2021

/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 Opsgenie

Leveraging Atlassian’s Opsgenie and AWS Cloudformation Registry to stay ahead of incidents

In the past, managing IT infrastructure was a hard job. It required a lot of manual effort and it was hard to keep track of all the necessary information (monitoring, scalability etc). Thankfully, as...

2,349 views 0 13
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you