I've created an email integration where an alert will be created and prioritized based on the subject.
Here is the Subject from the Debug Logs: "Incident Assigned: ID: [IR244691] Priority: 3"
The email regex filter: /Priority:\s[3-4]/g
I've used regex testers and it correctly matches the subject ( I want to match Subjects with Priority: 3 and Priority: 4 ).
The Logs indicate that the email is received, but no matches were made. Is there a trick to using regex in Opsgenie? Can someone tell me the correct regex to use for this?
Hi @Scott Wright!
I think I helped you resolve this in a support ticket yesterday but also wanted to include the answer here in case someone else runs into a similar problem:
I think the "trick" we are looking for is that we are technically trying to match regex across the entire field you are parsing. So instead of Priority:\s[3-4], something like .*(Priority:\s[34]).* would do the trick.
When checking it in a regex tester, we want the entire field to be colored: https://regex101.com/r/OMaPwT/1
Another note is that the start/end slashes and global flags for regex aren't needed here. This page has some more information on setting up these filters and how to format the regex: https://docs.opsgenie.com/docs/regular-expressions
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'm trying to pull out the node, location, and issue from a long email and this isn't working for me. I tried it off your regex101.com link and it worked there.
Integration Extra Properties:
Node: {{ message.extract( /.*Node:\s(.*).*/ ) }}
Location: {{ message.extract( /.*Location:\s(.*\n).*/ ) }}
Issue: {{ message.extract( /.*Issue:\s(.*\n).*/ ) }}
Example email body:
Service: DNS
Node: NYCSERVER1
Location: NYC New York
Issue: Server not Responding
Room: 443
Rack: 12B
Expecting
Node = 'NYCSERVER1'
Location = 'NYC New York'
Issue = 'Server not Responding'
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Follow up. This is working for me.
Name Value
Node {{ message.extract( /.*Node:\s(.*).*/ ) }}
Location {{ message.extract( /.*Location:\s(.*\n).*/ ) }}
Issue {{ message.extract( /.*Issue:\s(.*\n).*/ ) }}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Scott Wright - could you provide a screenshot of the email integration filter you have created? It sounds like you're trying to set a filter on an email integration to only create alerts if the subject contains "Priority: 3" or "Priority: 4", right?
If so, the following examples should work...
1. Just add a filter set to "match one or more conditions" that will create an alert if the subject contains either "Priority: 3" or "Priority: 4"
2. Setup the regex filter like this...
Either of those options should work if you're trying to have the integration create alerts only when it receives an email with "Priority: 3" or "Priority: 4" in the subject of the email.
Hope that helps!
Thanks,
Samir
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.