Skip to content

Instantly share code, notes, and snippets.

@devdbrandy
Last active November 20, 2018 10:52
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 devdbrandy/392198fc130d857177ec96e88b9ae7c5 to your computer and use it in GitHub Desktop.
Save devdbrandy/392198fc130d857177ec96e88b9ae7c5 to your computer and use it in GitHub Desktop.
Deliver stories script for pivotaltracker
#!/usr/bin/env ruby
# gem 'pivotal-tracker'
require 'pivotal-tracker'
TRACKER_TOKEN = "..."
TRACKER_PROJECT_ID = "..."
PivotalTracker::Client.token = TRACKER_TOKEN
PivotalTracker::Client.use_ssl = true
unpakt_project = PivotalTracker::Project.find(TRACKER_PROJECT_ID)
stories = unpakt_project.stories.all(:state => "finished", :story_type => ['bug', 'feature'])
staging_deploy_tag = `git tag | grep staging | tail -n1`
stories.each do | story |
puts "Searching for #{story.id} in local git repo."
search_result = `git log --grep #{story.id} #{staging_deploy_tag}`
if search_result.length > 0
puts "Found #{story.id}, marking as delivered."
story.notes.create(:text => "Delivered by staging deploy script.")
story.update({"current_state" => "delivered"})
else
puts "Coult not find #{story.id} in git repo."
end
end
# Using the pivotal-tracker gem (https://github.com/jsmestad/pivotal-tracker),
# the script finds all Finished stories in your Tracker project,
# and looks for a commit in the git log with that Story ID.
# If it finds one, it marks the story as Delivered.
# It also adds a note to the story
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment