class RedmineCLI::Subcommands::Issue

All methods for working with issues, e.g. listing, linking, updating…

Public Instance Methods

complete(id) click to toggle source
# File lib/redmine_cli/subcommands/issue.rb, line 41
def complete(id)
  issue = Models::Issue.find(id)
  invoke(Conf, 'status_complete', []) unless Config['statuses'] && Config['statuses']['complete']
  assign_to = if options[:assign]
                InputParser.parse_user(options[:assign], project: issue.project).id
              else
                issue.author.id
              end

  invoke(:update, [id], ['-d', '100', '-s', Config['statuses']['complete'], '-c', '-a', assign_to])
rescue ActiveResource::ResourceNotFound
  puts m(:not_found)
end
create() click to toggle source
# File lib/redmine_cli/subcommands/issue.rb, line 89
def create
  self.class.include Helpers::Issue::Create

  @issue = Models::Issue.new
  set_attributes
  @issue.save
  puts 'Done.'
end
list(id = 'current') click to toggle source
# File lib/redmine_cli/subcommands/issue.rb, line 17
def list(id = 'current')
  fail('new config') if Config.new?

  user = InputParser.parse_user(id)
  puts erb('issue/list', issues: user.issues)
rescue UserNotFound
  puts "User #{m(:not_found)}"
end
show(id) click to toggle source
# File lib/redmine_cli/subcommands/issue.rb, line 29
def show(id)
  puts erb 'issue/show',
           issue: Models::Issue.find(id),
           journals_limit: options[:limit],
           comments_only: options[:comments_only]

rescue ActiveResource::ResourceNotFound # WARNING: it can be raised by associations in template
  puts m(:not_found)
end
update(id) click to toggle source
# File lib/redmine_cli/subcommands/issue.rb, line 73
def update(id)
  # load helpers inside instance method for better performance
  self.class.include Helpers::Issue::Update

  issue = Models::Issue.find(id)
  if update_issue(issue) # update_issue will return nil/false if something goes wrong
    puts m(issue.save ? :success : :error)
  else
    @errors.each { |e| puts e }
  end

rescue ActiveResource::ResourceNotFound
  puts m(:not_found)
end