Class: Datadog::CI::Transport::RemoteSettingsApi

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/ci/transport/remote_settings_api.rb

Overview

Datadog API client Calls settings endpoint to fetch library settings for given service and env

Defined Under Namespace

Classes: Response

Instance Method Summary collapse

Constructor Details

#initialize(api: nil, dd_env: nil) ⇒ RemoteSettingsApi

Returns a new instance of RemoteSettingsApi.



49
50
51
52
# File 'lib/datadog/ci/transport/remote_settings_api.rb', line 49

def initialize(api: nil, dd_env: nil)
  @api = api
  @dd_env = dd_env
end

Instance Method Details

#fetch_library_settings(test_session) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/datadog/ci/transport/remote_settings_api.rb', line 54

def fetch_library_settings(test_session)
  api = @api
  return Response.new(nil) unless api

  request_payload = payload(test_session)
  Datadog.logger.debug("Fetching library settings with request: #{request_payload}")

  http_response = api.api_request(
    path: Ext::Transport::DD_API_SETTINGS_PATH,
    payload: request_payload
  )

  Response.new(http_response)
end