Skip to content

Instantly share code, notes, and snippets.

@scotttam
Created May 26, 2011 17:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scotttam/993560 to your computer and use it in GitHub Desktop.
Save scotttam/993560 to your computer and use it in GitHub Desktop.
Pull down the tracker stories
begin
require 'pivotal_tracker'
rescue LoadError
puts "This script requires the pivotal-tracker gem: gem install pivotal-tracker"
exit(1)
end
CLIENT_TOKEN = 'GET YER OWN'
PROJECT_ID = 12345
MILESTONE_LABELS = ['m1', 'm2', 'm3', 'm4']
PivotalTracker::Client.token = CLIENT_TOKEN
project = PivotalTracker::Project.find(PROJECT_ID)
MILESTONE_LABELS.each do |current_label|
stories = project.stories.all(:label => current_label)
accepted_points = stories.inject(0) do |sum, story|
if story.current_state == 'accepted'
pts = story.estimate.to_i
else
pts = 0
end
sum + pts
end
puts ""
puts "The #{current_label} milestone (Accepted: #{accepted_points})"
puts "------------------------------"
stories.sort { |x, y| x.current_state <=> y.current_state }
story_strings = stories.map do |story|
labels = story.labels.split(',').reject { |label| label.downcase == current_label }
sprintf("%-35s %-15s %-5s %-15s %s", labels.sort.join(', '), story.current_state, story.estimate, story.story_type, story.name)
end
story_strings.each { |ss| puts ss }
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment