Module: Linear::Commands::ListIssues

Extended by:
ListIssues
Included in:
Linear::Commands, ListIssues
Defined in:
lib/linear/commands/list_issues.rb

Instance Method Summary collapse

Instance Method Details

#list_issues(options = {}, client: Client.new) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/linear/commands/list_issues.rb', line 6

def list_issues(options = {}, client: Client.new)
  filter = {}
  filter[:title] = { contains: options[:query] } if options[:query]
  filter[:project] = { id: { eq: options[:project] } } if options[:project]
  filter[:state] = { name: { eqIgnoreCase: options[:state] } } if options[:state]
  filter[:team] = { key: { eq: options[:team] } } if options[:team]

  result = client.query(Queries::LIST_ISSUES, { filter: filter })

  issues = result.dig("data", "issues", "nodes") || []
  if issues.empty?
    puts "No issues found"
  else
    Formatters.display_issue_list(issues)
  end
end