Class: GitPivotalTrackerIntegration::Command::Newbug

Inherits:
Base
  • Object
show all
Defined in:
lib/git-pivotal-tracker-integration/command/newbug.rb

Overview

The class that encapsulates creating a Pivotal Tracker Bug Story

Constant Summary

Constants inherited from Base

Base::TIMER_TOKENS

Instance Method Summary collapse

Methods inherited from Base

#check_version, #create_backlog_bug_story, #create_backlog_feature_story, #create_icebox_bug_story, #create_icebox_feature_story, #create_story, #estimated_seconds, #finish_toggle, #initialize, #logger_filename, #parameters, #seconds_spent, #start_logging

Constructor Details

This class inherits a constructor from GitPivotalTrackerIntegration::Command::Base

Instance Method Details

#run(args) ⇒ Object

Creates a Pivotal Tracker story by doing the following steps:

  • Takes arguments from command line

  • If arguments contains -i then it creates a bug story under icebox

  • If arguments contains -b then it creates a bug story under backlog

  • If arguments contains -tl then it creates a bug story at top of specified list

  • If arguments contains -bl then it creates a bug story at bottom of specified list

  • If there are no arguments passed then it creates a bug story in icebox top of the list if you wish to create



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/git-pivotal-tracker-integration/command/newbug.rb', line 32

def run(args)
  my_projects = PivotalTracker::Project.all
  $LOG.debug("#{self.class} in project:#{@project.name} pwd:#{pwd} branch:#{GitPivotalTrackerIntegration::Util::Git.branch_name}")
  story = nil
  if (!args.empty? && args.any?{|arg| arg.include?("-i")})
    story = self.create_icebox_bug_story(args)
  elsif (!args.empty? && args.any?{|arg| arg.include?("-b")})
    story = self.create_backlog_bug_story(args)
	else
 puts "\n Syntax for creating new bug story in icebox top of the list:\n git newbug -i -tl <bug-title> \n Syntax for creating new bug story in icebox bottom of the list: \n git newbug -i -bl <bug-title>\n"
 puts "\n Syntax for creating new bug story in backlog top of the list:\n git newbug -b -tl <bug-title> \n Syntax for creating new bug story in backlog bottom of the list: \n git newbug -b -bl <bug-title>\n"
 user_response = nil
 while (user_response.nil? || user_response.empty?)
 user_response = ask("\nYou have missed some parameters to pass...If you are ok with creating new bug story in icebox then enter y otherwise enter n")
 end
 while !(["y","n"].include?(user_response))
 user_response = ask("\nInvalid entry...If you are ok with creating new bug story in icebox then enter y otherwise enter n")
 end
 if user_response.downcase == "y"
story = self.create_icebox_bug_story(args)
 else
 abort "\nCheck your new bug story creation syntax and then try again"
 end
  end
	puts "A new bug story has been created successfully with ID:#{story.id}"
end