class ErrbitPivotalPlugin::IssueTracker

Constants

FIELDS
LABEL
NOTE

Public Class Methods

fields() click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 29
def self.fields
  FIELDS
end
icons() click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 33
def self.icons
  @icons ||= {
    create: [
      'image/png', ErrbitPivotalPlugin.read_static_file('pivotal_create.png')
    ],
    goto: [
      'image/png', ErrbitPivotalPlugin.read_static_file('pivotal_goto.png'),
    ],
    inactive: [
      'image/png', ErrbitPivotalPlugin.read_static_file('pivotal_inactive.png'),
    ]
  }
end
label() click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 21
def self.label
  LABEL
end
note() click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 25
def self.note
  NOTE
end

Public Instance Methods

comments_allowed?() click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 59
def comments_allowed?; false; end
configured?() click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 55
def configured?
  options['project_id'].present? && options['api_token'].present?
end
create_issue(title, body, user: {}) click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 69
def create_issue(title, body, user: {})
  PivotalTracker::Client.token = options['api_token']
  PivotalTracker::Client.use_ssl = true
  project = PivotalTracker::Project.find options['project_id'].to_i
  story = project.stories.create({
    :name => title,
    :story_type => 'bug',
    :description => body
  })

  if story.errors.present?
    raise StandardError, story.errors.first
  end
  "https://www.pivotaltracker.com/story/show/#{story.id}"
end
errors() click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 61
def errors
  errors = []
  if self.class.fields.detect {|f| options[f[0]].blank? }
    errors << [:base, 'You must specify your Pivotal Tracker API token and Project ID']
  end
  errors
end
render_body_args() click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 47
def render_body_args
  ["/pivotal_issue", formats: [:md]]
end
url() click to toggle source
# File lib/errbit_pivotal_plugin/issue_tracker.rb, line 51
def url
  "https://www.pivotaltracker.com/"
end