class Jira::Command::Transition
Attributes
options[RW]
ticket[RW]
Public Class Methods
new(ticket, options)
click to toggle source
# File lib/jira/commands/transition.rb, line 18 def initialize(ticket, options) self.ticket = ticket self.options = options end
Public Instance Methods
run()
click to toggle source
# File lib/jira/commands/transition.rb, line 23 def run return if ticket.empty? return if metadata.empty? return unless metadata['errorMessages'].nil? return if transition.nil? || transition.empty? api.post "issue/#{ticket}/transitions", params: params, success: on_success, failure: on_failure end
Private Instance Methods
metadata()
click to toggle source
# File lib/jira/commands/transition.rb, line 75 def metadata @metadata ||= api.get("issue/#{ticket}/transitions?expand=transitions.fields") end
on_failure()
click to toggle source
# File lib/jira/commands/transition.rb, line 48 def on_failure ->{ puts "Failed to transition ticket #{ticket}." } end
on_success()
click to toggle source
# File lib/jira/commands/transition.rb, line 44 def on_success ->{ puts "Transitioned ticket #{ticket} to #{transition_name}." } end
params()
click to toggle source
# File lib/jira/commands/transition.rb, line 37 def params { transition: { id: transition[:id] }, fields: transition[:resolution?] ? { resolution: { name: resolution } } : {} } end
resolution()
click to toggle source
# File lib/jira/commands/transition.rb, line 79 def resolution @resolution ||= resolutions[ options['resolution'] || io.select("Resolve #{ticket} as:", resolutions.keys) ] end
resolutions()
click to toggle source
# File lib/jira/commands/transition.rb, line 85 def resolutions @resolutions ||= ( resolutions = {} api.get("resolution").each do |resolution| resolutions[resolution['name']] = resolution['name'] end resolutions ) end
transition()
click to toggle source
# File lib/jira/commands/transition.rb, line 56 def transition @transition ||= transitions[ options['transition'] || io.select("Transition #{ticket} to:", transitions.keys) ] end
transition_name()
click to toggle source
# File lib/jira/commands/transition.rb, line 52 def transition_name transitions.invert[transition] end
transitions()
click to toggle source
# File lib/jira/commands/transition.rb, line 62 def transitions @transitions ||= ( transitions = {} metadata['transitions'].each do |transition| transitions[transition['to']['name']] = { id: transition['id'], resolution?: !!transition['fields'].fetch('resolution', {})['required'] } end transitions ) end