class ErrbitFogbugzPlugin::IssueTracker
Constants
- FIELDS
- LABEL
- NOTE
Public Class Methods
body_template()
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 38 def self.body_template @body_template ||= ERB.new(File.read( File.join( ErrbitFogbugzPlugin.root, 'views', 'fogbugz_issues_body.txt.erb' ) )) end
fields()
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 34 def self.fields FIELDS end
label()
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 26 def self.label LABEL end
note()
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 30 def self.note NOTE end
Public Instance Methods
client()
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 64 def client fogbugz = Fogbugz::Interface.new( :email => params['username'], :password => params['password'], :uri => url ) fogbugz.authenticate fogbugz end
comments_allowed?()
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 54 def comments_allowed?; false; end
configured?()
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 50 def configured? errors.empty? end
create_issue(problem, reported_by = nil)
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 74 def create_issue(problem, reported_by = nil) issue = { 'sTitle' => "[#{ problem.environment }][#{ problem.where }] #{problem.message.to_s.truncate(100)}", 'sArea' => params['project_id'], 'sEvent' => self.class.body_template.result(binding), 'sTags' => ['errbit'].join(','), 'cols' => ['ixBug'].join(',') } fb_resp = client.command(:new, issue) problem.update_attributes( :issue_link => sprintf('%s/default.asp?%s', url, fb_resp['case']['ixBug']), :issue_type => self.class.label ) end
errors()
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 56 def errors errors = [] if self.class.fields.detect {|f| params[f[0].to_s].blank? } errors << [:base, 'You must specify your FogBugz Area Name, FogBugz URL, Username, and Password'] end errors end
url()
click to toggle source
# File lib/errbit_fogbugz_plugin/issue_tracker.rb, line 46 def url sprintf('https://%s.fogbugz.com', params['account']) end