Skip to content

Instantly share code, notes, and snippets.

@ndmanvar
Last active September 3, 2018 21:08
Show Gist options
  • Save ndmanvar/501e64037cf4505fdb497ff4b29ba3fc to your computer and use it in GitHub Desktop.
Save ndmanvar/501e64037cf4505fdb497ff4b29ba3fc to your computer and use it in GitHub Desktop.
# Token (SENTRY_AUTH_TOKEN) must have appropriate priveleges (i.e. project:write)
# Usage: SENTRY_AUTH_TOKEN=<YOUR_SENTRY_AUTH_TOKEN> SENTRY_ORG=<YOUR_SENTRY_ORG> ruby
require 'rest-client'
require 'json'
organization_slug = ENV['SENTRY_ORG']
res = RestClient.get("https://sentry.io/api/0/organizations/#{organization_slug}/projects/",
headers={
"Authorization": "Bearer #{ENV['SENTRY_AUTH_TOKEN']}"
})
projects = JSON.parse(res.body)
for project in projects
project_slug = project['slug']
res = RestClient.get("https://sentry.io/api/0/projects/#{organization_slug}/#{project_slug}/keys/",
headers={
"Authorization": "Bearer #{ENV['SENTRY_AUTH_TOKEN']}"
})
keys = JSON.parse(res.body)
for key in keys
key_id = key['id']
name = key['name']
puts "name is : #{name}"
puts "https://sentry.io/api/0/projects/#{organization_slug}/#{project_slug}/keys/#{key_id}/"
# update rate limit (setting to 1500 events per minute in this example)
res = RestClient.put("https://sentry.io/api/0/projects/#{organization_slug}/#{project_slug}/keys/#{key_id}/", { name: name, rateLimit: { window: "60", count: 1500}}.to_json, headers={
"Authorization": "Bearer #{ENV['SENTRY_AUTH_TOKEN']}",
"Content-Type": "application/json"
})
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment