Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

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,463,679
Community Members
 
Community Events
176
Community Groups

Possible Bug: API keys with "Suppress Notifications" mode discards tags in Create Alert API

Edited

Update:

I was using a test API key in "Suppress Notifications" mode for my tests detailed below. But my production service which already uses roughly the same code with a non-"Suppress Notifications" API key could attach tags to alerts as expected.  This is probably a bug on OpsGenie side.

Original post:

I'm using Python 3.7 http.client library to post alerts to this API https://docs.opsgenie.com/docs/alert-api#create-alert

def request(method, url, params, headers):
parsed = urllib.parse.urlparse(url)
conn = http.client.HTTPSConnection(parsed.netloc)
full_path = parsed.path
headers = headers or {}
body = json.dumps(params)
headers['Content-Type'] = 'application/json'
logging.info("full_path:%r body:%r headers:%r", full_path, body, headers)
conn.request(method, full_path, body, headers)
params = dict(
message='I am testing OpsGenie API',
description='describe it!',
tags=['Tag0', 'Tag1'],
details=dict(detail0='Detail0', detail1='Detail1'),
source=socket.gethostname()
)

I can see the resulting alert has message, description, and source fields as expected (as well as entity, alias, and source, when I add them)

but I can't seem to add tags and details. As if the API discards them.

The logger displays something like this

'{"message": "I am testing OpsGenie API", "description": "describe it!", "tags": ["Tag0", "Tag1"], "details": {"detail0": "Detail0", "detail1": "Detail1"}, "source": "mymachine.local"}'

which looks like a valid JSON payload. Could any of you shed some light on this problem?

1 answer

0 votes
Robert Atlassian Team Oct 16, 2020

Hi @Kai Noda !

 

I just tested this with my own account and found suppressing the integration itself was not enough to reproduce this. I used cURL to send the request, but payloads with details and tags still made it into the alert:

curl -X POST 'https://api.opsgenie.com/v2/alerts' -d '{"message":"test","details":{"host_name":"localhost","host_alias":"hostname"}, "tags":["Tag1"]}' -H 'Authorization: GenieKey XXXXXX' -H 'Content-type: application/json'

image.pngimage.png

Have you modified the API integration at all from default? This might be a better issue to resolve by reaching out to our support team directly. 

Hmm I created a new key and switched keys from the one I created back in Apr 2019 to it, then the problem magically disappeared.

The same test script, two different keys with the same (default) permissions + "Suppress" mode, different results reproducibly. This must be a bug on your side.

Anyways I can move forward now.

Robert Atlassian Team Oct 18, 2020

@Kai Noda Glad to hear the requests are working now.

 

If you'd like to look into the issues you were seeing with the other API integration, please feel free to create a ticket with our support team or stop by the in-product chat and we can take a closer look.

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
TAGS

Atlassian Community Events