lib/pivotal_tracker_pr/cli.rb
require "pivotal_tracker_pr"
require 'pivotal_tracker_pr/pivotal_tracker_api'
require 'pivotal_tracker_pr/pull_request_writer'
require 'json'
require 'net/http'
require 'thor'
module PivotalTrackerPr
class CLI < Thor
default_command :create
desc 'create [STORY_ID]', 'Create pull request use story id / story name of PivotalTracker.'
def create(story_id = nil)
story_id = story_id[1..-1] if story_id && story_id[0] == '#'
story_id ||= parse_story_id
if story_id
say "story id : #{story_id}", :green
check_env_vars
story_name = PivotalTrackerApi.get_story_name(story_id)
if story_name
say "Story name : #{story_name}", :green
PullRequestWriter.new(story_id, story_name).write
end
end
system 'hub pull-request --browse'
end
private
def parse_story_id
current_branch = `git symbolic-ref --short HEAD`
current_branch.match(/(\d+)/)
$1
end
def check_env_vars
unless ENV['PT_TOKEN']
say 'Please export PT_TOKEN', :red
exit 1
end
unless ENV['PT_PROJECT_ID']
say 'Please export PT_PROJECT_ID', :red
exit 1
end
end
end
end