Class: Merge::Hris::AsyncIssuesClient

Inherits:
Object
  • Object
show all
Defined in:
lib/merge_ruby_client/hris/issues/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request_client:) ⇒ Merge::Hris::AsyncIssuesClient

Parameters:



132
133
134
# File 'lib/merge_ruby_client/hris/issues/client.rb', line 132

def initialize(request_client:)
  @request_client = request_client
end

Instance Attribute Details

#request_clientMerge::AsyncRequestClient (readonly)



128
129
130
# File 'lib/merge_ruby_client/hris/issues/client.rb', line 128

def request_client
  @request_client
end

Instance Method Details

#list(account_token: nil, cursor: nil, end_date: nil, end_user_organization_name: nil, first_incident_time_after: nil, first_incident_time_before: nil, include_muted: nil, integration_name: nil, last_incident_time_after: nil, last_incident_time_before: nil, linked_account_id: nil, page_size: nil, start_date: nil, status: nil, request_options: nil) ⇒ Merge::Hris::PaginatedIssueList

Gets all issues for Organization.

Examples:

api = Merge::Client.new(
  base_url: "https://api.example.com",
  environment: Merge::Environment::PRODUCTION,
  api_key: "YOUR_AUTH_TOKEN"
)
api.hris.issues.list

Parameters:

  • account_token (String) (defaults to: nil)
  • cursor (String) (defaults to: nil)

    The pagination cursor value.

  • end_date (String) (defaults to: nil)

    If included, will only include issues whose most recent action occurred before this time

  • end_user_organization_name (String) (defaults to: nil)
  • first_incident_time_after (DateTime) (defaults to: nil)

    If provided, will only return issues whose first incident time was after this datetime.

  • first_incident_time_before (DateTime) (defaults to: nil)

    If provided, will only return issues whose first incident time was before this datetime.

  • include_muted (String) (defaults to: nil)

    If true, will include muted issues

  • integration_name (String) (defaults to: nil)
  • last_incident_time_after (DateTime) (defaults to: nil)

    If provided, will only return issues whose last incident time was after this datetime.

  • last_incident_time_before (DateTime) (defaults to: nil)

    If provided, will only return issues whose last incident time was before this datetime.

  • linked_account_id (String) (defaults to: nil)

    If provided, will only include issues pertaining to the linked account passed in.

  • page_size (Integer) (defaults to: nil)

    Number of results to return per page.

  • start_date (String) (defaults to: nil)

    If included, will only include issues whose most recent action occurred after this time

  • status (Merge::Hris::Issues::IssuesListRequestStatus) (defaults to: nil)

    Status of the issue. Options: (‘ONGOING’, ‘RESOLVED’)

    • ‘ONGOING` - ONGOING

    • ‘RESOLVED` - RESOLVED

  • request_options (Merge::RequestOptions) (defaults to: nil)

Returns:



170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# File 'lib/merge_ruby_client/hris/issues/client.rb', line 170

def list(account_token: nil, cursor: nil, end_date: nil, end_user_organization_name: nil,
         first_incident_time_after: nil, first_incident_time_before: nil, include_muted: nil, integration_name: nil, last_incident_time_after: nil, last_incident_time_before: nil, linked_account_id: nil, page_size: nil, start_date: nil, status: nil, request_options: nil)
  Async do
    response = @request_client.conn.get do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers["X-Account-Token"] = request_options. unless request_options&..nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      req.params = {
        **(request_options&.additional_query_parameters || {}),
        "account_token": ,
        "cursor": cursor,
        "end_date": end_date,
        "end_user_organization_name": end_user_organization_name,
        "first_incident_time_after": first_incident_time_after,
        "first_incident_time_before": first_incident_time_before,
        "include_muted": include_muted,
        "integration_name": integration_name,
        "last_incident_time_after": last_incident_time_after,
        "last_incident_time_before": last_incident_time_before,
        "linked_account_id": ,
        "page_size": page_size,
        "start_date": start_date,
        "status": status
      }.compact
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/issues"
    end
    Merge::Hris::PaginatedIssueList.from_json(json_object: response.body)
  end
end

#retrieve(id:, request_options: nil) ⇒ Merge::Hris::Issue

Get a specific issue.

Examples:

api = Merge::Client.new(
  base_url: "https://api.example.com",
  environment: Merge::Environment::PRODUCTION,
  api_key: "YOUR_AUTH_TOKEN"
)
api.hris.issues.retrieve(id: "id")

Parameters:

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'lib/merge_ruby_client/hris/issues/client.rb', line 220

def retrieve(id:, request_options: nil)
  Async do
    response = @request_client.conn.get do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers["X-Account-Token"] = request_options. unless request_options&..nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/issues/#{id}"
    end
    Merge::Hris::Issue.from_json(json_object: response.body)
  end
end