class Toolshed::Commands::CreateTicketComment
Public Class Methods
cli_options()
click to toggle source
# File lib/toolshed/commands/create_ticket_comment.rb, line 12 def self.cli_options { banner: 'Usage: create_ticket_comment [options]', options: { use_defaults: { short_on: '-d' } } } end
new(options={})
click to toggle source
Calls superclass method
Toolshed::Commands::Base::new
# File lib/toolshed/commands/create_ticket_comment.rb, line 8 def initialize(options={}) super(options) end
Public Instance Methods
branch()
click to toggle source
# File lib/toolshed/commands/create_ticket_comment.rb, line 23 def branch @branch ||= Toolshed::Git::Branch.new end
execute(args, options = {})
click to toggle source
# File lib/toolshed/commands/create_ticket_comment.rb, line 27 def execute(args, options = {}) ticket_tracker_class = Object.const_get("Toolshed::TicketTracking::#{Toolshed::Client.ticket_tracking_tool.camel_case}") options = use_ticket_tracker_project_id(options) options = use_ticket_tracker_project_name(options) default_ticket_id = Toolshed::TicketTracking::story_id_from_branch_name(branch.name) ticket_id = read_user_input("Ticket ID (Default: #{default_ticket_id}):", options.merge!({ default: default_ticket_id })) options.merge!({ ticket_id: ticket_id }) ticket_tracker = ticket_tracker_class.create_instance(options) puts "Using Project: #{ticket_tracker_project_id}" if use_project_id puts "Using Ticket: #{ticket_id}" puts "Note? " note_text = $stdin.gets.chomp.strip begin result = ticket_tracker.add_note(note_text) if (result) puts "Comment has been added to ticket" else puts "Unable to add comment #{result.inspect}" end rescue => e puts e.message exit end end