class Sentry::Client
Attributes
base_url[RW]
prefix[RW]
slug[RW]
token[RW]
Public Class Methods
new(token, slug)
click to toggle source
# File lib/sentry/client.rb, line 7 def initialize(token, slug) self.token = token self.slug = slug self.base_url = "https://sentry.io/api/0/projects/" end
Public Instance Methods
create_release(version)
click to toggle source
# File lib/sentry/client.rb, line 13 def create_release(version) response = Typhoeus.get( "#{base_url}/#{slug}/releases/#{version}/", headers: { "Authorization" => "Bearer #{token}", "Content-Type" => "application/json" } ) if response.response_code == 200 # Release already present, skipping... return response end Typhoeus.post( "#{base_url}/#{slug}/releases/", headers: { "Authorization" => "Bearer #{token}", "Content-Type" => "application/json" }, body: JSON.dump({ version: version }) ) end
upload_release_artifact(version, artifact_path, filename_prefix = "")
click to toggle source
# File lib/sentry/client.rb, line 36 def upload_release_artifact(version, artifact_path, filename_prefix = "") Typhoeus.post( "#{base_url}/#{slug}/releases/#{version}/files/", headers: { "Authorization" => "Bearer #{token}" }, body: { file: File.open(artifact_path, "r"), name: "#{filename_prefix}#{File.basename(artifact_path)}" } ) end