10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/toolshed/commands/update_ticket_status.rb', line 10
def execute(args, options = {})
ticket_tracker_class = Object.const_get("Toolshed::TicketTracking::#{Toolshed::Client.instance.ticket_tracking_tool.camel_case}")
use_project_id = Object.const_get("#{ticket_tracker_class}::USE_PROJECT_ID") rescue false
if use_project_id
ticket_tracker_project_id = read_user_input_project("Project ID (Default: #{Toolshed::Client.instance.default_pivotal_tracker_project_id}):", options.merge!({ default: Toolshed::Client.instance.default_pivotal_tracker_project_id }))
options.merge!({ project_id: ticket_tracker_project_id })
end
use_project_name = Object.const_get("#{ticket_tracker_class}::USE_PROJECT_NAME") rescue false
if use_project_name
ticket_tracker_project_name = read_user_input_project("Project Name (Default: #{Toolshed::Client.instance.default_ticket_tracker_project}):", options.merge!({ default: Toolshed::Client.instance.default_ticket_tracker_project }))
options.merge!({ project: ticket_tracker_project_name })
end
default_ticket_id = Toolshed::TicketTracking::story_id_from_branch_name(branch.name)
ticket_id = read_user_input_ticket_id("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)
status = read_user_input_status("Status:")
begin
result = ticket_tracker.update_ticket_status(status)
puts result
rescue => e
puts e.message
exit
end
end
|