pivotal_labs_tracker.rb
1 KB
class IssueTrackers::PivotalLabsTracker < IssueTracker
Label = "pivotal"
Fields = [
[:api_token, {
:placeholder => "API Token for your account"
}],
[:project_id, {}]
]
def check_params
if Fields.detect {|f| self[f[0]].blank? }
errors.add :base, 'You must specify your Pivotal Tracker API token and Project ID'
end
end
def create_issue(problem, reported_by = nil)
PivotalTracker::Client.token = api_token
PivotalTracker::Client.use_ssl = true
project = PivotalTracker::Project.find project_id.to_i
story = project.stories.create :name => issue_title(problem), :story_type => 'bug', :description => body_template.result(binding)
problem.update_attributes(
:issue_link => "https://www.pivotaltracker.com/story/show/#{story.id}",
:issue_type => Label
)
end
def body_template
@@body_template ||= ERB.new(File.read(Rails.root + "app/views/issue_trackers/pivotal_body.txt.erb"))
end
def url
"https://www.pivotaltracker.com/"
end
end