class Speedflow::Plugin::Jira::Plugin
JIRA Plugin
Attributes
client[W]
@return [Client] Plugin
client.
prompt[W]
@return [Prompt] Plugin
prompt.
Public Class Methods
new(config, _)
click to toggle source
Public: Constructor
config - Speedflow::Plugin::Configuration object. prompt - Speedflow::Plugin::Prompt object.
Examples
Manager.new( <Speedflow::Plugin::Configuration.new({})>, <Speedflow::Plugin::Prompt.new>) # => <Speedflow::Plugin::Abstract>
Returns nothing.
Calls superclass method
# File lib/speedflow/plugin/jira/plugin.rb, line 25 def initialize(config, _) super(config, Prompt.new) end
Public Instance Methods
action_change_issue_assignee()
click to toggle source
Public: Change issue assignee.
Returns Hash.
# File lib/speedflow/plugin/jira/plugin.rb, line 69 def action_change_issue_assignee issue_key = @config.by_input('issue') assignee_name = @config.by_input('assignee') issue_key = action_search_issue['issue']['key'] if issue_key.empty? client.update_issue_assignee(issue_key, assignee_name) prompt.ok "[JIRA] Issue assignee changed to: #{assignee_name}" { 'issue' => { 'key' => issue_key, 'assignee' => assignee_name } } end
action_change_issue_transition()
click to toggle source
Public: Change issue transition.
Returns Hash.
# File lib/speedflow/plugin/jira/plugin.rb, line 85 def action_change_issue_transition issue_key = config.by_input('issue') transition_id = config.by_input('transition') issue_key = action_search_issue['issue']['key'] if issue_key.empty? if transition_id.empty? transition_id = prompt.transition(client.issue_trans(issue_key)) end client.update_issue_transition(issue_key, transition_id) prompt.ok "[JIRA] Issue transition changed to: #{transition_id}" { 'issue' => { 'key' => issue_key, 'transition' => transition_id } } end
action_create_issue()
click to toggle source
Public: Create issue.
Returns Hash of issue.
# File lib/speedflow/plugin/jira/plugin.rb, line 32 def action_create_issue title = @config.by_input('title') title = @prompt.title if title.empty? project_key = @config.by_input('project') project_key = @prompt.project(client.projects) if project_key.empty? issue_type_id = @config.by_input('type') if issue_type_id.empty? issue_type_id = @prompt.issue_type(client.issue_types) end issue = client.create_issue(project_key, title, issue_type_id) client.issue_output_format(issue) end
action_search_issue()
click to toggle source
Public: Search issue.
Returns Hash.
# File lib/speedflow/plugin/jira/plugin.rb, line 52 def action_search_issue limit = config.by_input('limit', 20) project = config.by_input('project') project = prompt.project(client.projects) if project.empty? issue_key = prompt.issue do |title| client.search_issue(project, title).take(limit.to_i) end prompt.ok "[JIRA] Issue found: #{issue_key}" { 'issue' => { 'key' => issue_key } } end