Module: Legion::Extensions::ServiceNow::Event::Runners::Event

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/service_now/event/runners/event.rb

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #fetch_oauth2_token, #handle_response

Instance Method Details

#create_event(name:, source:, resource: nil, node: nil, severity: '5', description: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/legion/extensions/service_now/event/runners/event.rb', line 11

def create_event(name:, source:, resource: nil, node: nil,
                 severity: '5', description: nil, **)
  body = { name: name, source: source, severity: severity }
  body[:resource]    = resource if resource
  body[:node]        = node if node
  body[:description] = description if description
  resp = connection(**).post('/api/now/table/sysevent', body)
  { event: resp.body['result'] }
end

#get_event(sys_id:) ⇒ Object



28
29
30
31
# File 'lib/legion/extensions/service_now/event/runners/event.rb', line 28

def get_event(sys_id:, **)
  resp = connection(**).get("/api/now/table/sysevent/#{sys_id}")
  { event: resp.body['result'] }
end

#list_events(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil) ⇒ Object



21
22
23
24
25
26
# File 'lib/legion/extensions/service_now/event/runners/event.rb', line 21

def list_events(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  params[:sysparm_query] = sysparm_query if sysparm_query
  resp = connection(**).get('/api/now/table/sysevent', params)
  { events: resp.body['result'] }
end