Sha256: 2225512d93834e404d150cf7555abe7f42cfe16dced7008dada8a4354f100874

Contents?: true

Size: 1.6 KB

Versions: 10

Compression:

Stored size: 1.6 KB

Contents

require 'toolshed/commands/base'
require 'toolshed/git'

module Toolshed
  module Commands
    class CreateTicketComment < Base

      def initialize(options={})
        super(options)
      end

      def self.cli_options
        {
          banner: 'Usage: create_ticket_comment [options]',
          options: {
            use_defaults: {
              short_on: '-d'
            }
          }
        }
      end

      def branch
        @branch ||= Toolshed::Git::Branch.new
      end

      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
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
toolshed-1.0.12 lib/toolshed/commands/create_ticket_comment.rb
toolshed-1.0.11 lib/toolshed/commands/create_ticket_comment.rb
toolshed-1.0.10 lib/toolshed/commands/create_ticket_comment.rb
toolshed-1.0.9 lib/toolshed/commands/create_ticket_comment.rb
toolshed-1.0.8 lib/toolshed/commands/create_ticket_comment.rb
toolshed-1.0.7 lib/toolshed/commands/create_ticket_comment.rb
toolshed-1.0.6 lib/toolshed/commands/create_ticket_comment.rb
toolshed-1.0.5 lib/toolshed/commands/create_ticket_comment.rb
toolshed-1.0.4 lib/toolshed/commands/create_ticket_comment.rb
toolshed-1.0.3 lib/toolshed/commands/create_ticket_comment.rb