Class: GitlabQuality::TestTooling::GitlabClient::GitlabGraphqlClient

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab_quality/test_tooling/gitlab_client/gitlab_graphql_client.rb

Direct Known Subclasses

WorkItemsClient

Instance Method Summary collapse

Constructor Details

#initialize(token:, project:, group:, endpoint: nil) ⇒ GitlabGraphqlClient

Returns a new instance of GitlabGraphqlClient.



10
11
12
13
14
15
# File 'lib/gitlab_quality/test_tooling/gitlab_client/gitlab_graphql_client.rb', line 10

def initialize(token:, project:, group:, endpoint: nil)
  @token = token
  @project = project
  @group = group
  @endpoint = endpoint || Runtime::Env.gitlab_graphql_api_base
end

Instance Method Details

#post(payload) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/gitlab_quality/test_tooling/gitlab_client/gitlab_graphql_client.rb', line 17

def post(payload)
  payload = { query: payload } if payload.is_a?(String)
  request_args = {
    method: :post,
    url: endpoint,
    payload: payload,
    headers: { 'Authorization' => "Bearer #{token}" },
    verify_ssl: false
  }
  extract_graphql_body(RestClient::Request.execute(request_args))
rescue StandardError => e
  return_response_or_raise(e)
end