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
/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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.