class Gitlab::Client

Wrapper for the Gitlab REST API.

def create_group_access_token(group_id, name, scopes, access_level = nil, expires_at = nil)

Returns:
  • (Gitlab::ObjectifiedHash) -

Parameters:
  • expires_at (String) -- Date for group access token expiration in ISO format.
  • access_level (Integer) -- Project access level (10: Guest, 20: Reporter, 30: Developer, 40: Maintainer, 50: Owner).
  • scopes (Array) -- Array of scopes for the group access token
  • name (String) -- Name for group access token.
  • group_id (Integer) -- The ID of the group.
def create_group_access_token(group_id, name, scopes, access_level = nil, expires_at = nil)
  body = { name: name, scopes: scopes }
  body[:access_level] = access_level if access_level
  body[:expires_at] = expires_at if expires_at
  post("/groups/#{group_id}/access_tokens", body: body)
end

def group_access_token(group_id, group_access_token_id)

Returns:
  • (Gitlab::ObjectifiedHash) -

Parameters:
  • group_access_token_id (Integer) -- ID of the group access token.
  • group_id (Integer) -- The ID of the group.
def group_access_token(group_id, group_access_token_id)
  get("/groups/#{group_id}/access_tokens/#{group_access_token_id}")
end

def group_access_tokens(group_id)

Returns:
  • (Array) -

Parameters:
  • group_id (Integer) -- The ID of the group.
def group_access_tokens(group_id)
  get("/groups/#{group_id}/access_tokens")
end

def inspect

Returns:
  • (String) -
def inspect
  inspected = super
  inspected = redact_private_token(inspected, @private_token) if @private_token
  inspected
end

def only_show_last_four_chars(token)

def only_show_last_four_chars(token)
  return '****' if token.size <= 4
  "#{'*' * (token.size - 4)}#{token[-4..]}"
end

def redact_private_token(inspected, private_token)

def redact_private_token(inspected, private_token)
  redacted = only_show_last_four_chars(private_token)
  inspected.sub %(@private_token="#{private_token}"), %(@private_token="#{redacted}")
end

def revoke_group_access_token(group_id, group_access_token_id)

Returns:
  • (Gitlab::ObjectifiedHash) -

Parameters:
  • group_access_token_id (Integer) -- ID of the group access token.
  • user_id (Integer) -- The ID of the group.
def revoke_group_access_token(group_id, group_access_token_id)
  delete("/groups/#{group_id}/access_tokens/#{group_access_token_id}")
end

def url_encode(url)

Returns:
  • (String) -
def url_encode(url)
  url.to_s.b.gsub(/[^a-zA-Z0-9_\-.~]/n) { |m| sprintf('%%%02X', m.unpack1('C')) } # rubocop:disable Style/FormatString
end