class Gitlab::Client
Wrapper for the Gitlab
REST API.
Public Instance Methods
Source
# File lib/gitlab/client/groups.rb, line 497 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
Create group access token
@example
Gitlab.create_group_access_token(2, "token", ["api", "read_user"]) Gitlab.create_group_access_token(2, "token", ["api", "read_user"], 20) Gitlab.create_group_access_token(2, "token", ["api", "read_user"], 20, "1970-01-01")
@param [Integer] group_id The ID of the group. @param [String] name Name for group access token. @param [Array<String>] scopes Array of scopes for the group access token @param [Integer] access_level Project access level (10: Guest, 20: Reporter, 30: Developer, 40: Maintainer, 50: Owner). @param [String] expires_at Date for group access token expiration in ISO format. @return [Gitlab::ObjectifiedHash]
Source
# File lib/gitlab/client/groups.rb, line 480 def group_access_token(group_id, group_access_token_id) get("/groups/#{group_id}/access_tokens/#{group_access_token_id}") end
Get group access token information
@example
Gitlab.group_access_token(1, 1)
@param [Integer] group_id The ID of the group. @param [Integer] group_access_token_id ID of the group access token. @return [Gitlab::ObjectifiedHash]
Source
# File lib/gitlab/client/groups.rb, line 468 def group_access_tokens(group_id) get("/groups/#{group_id}/access_tokens") end
Get all access tokens for a group
@example
Gitlab.group_access_tokens(1)
@param [Integer] group_id The ID of the group. @return [Array<Gitlab::ObjectifiedHash>]
Source
# File lib/gitlab/client.rb, line 78 def inspect inspected = super inspected = redact_private_token(inspected, @private_token) if @private_token inspected end
Text representation of the client, masking private token.
@return [String]
Source
# File lib/gitlab/client/groups.rb, line 512 def revoke_group_access_token(group_id, group_access_token_id) delete("/groups/#{group_id}/access_tokens/#{group_access_token_id}") end
Revoke a group access token
@example
Gitlab.revoke_group_access_token(1, 1)
@param [Integer] user_id The ID of the group. @param [Integer] group_access_token_id ID of the group access token. @return [Gitlab::ObjectifiedHash]
Source
# File lib/gitlab/client.rb, line 88 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
Utility method for URL encoding of a string. Copied from ruby-doc.org/stdlib-2.7.0/libdoc/erb/rdoc/ERB/Util.html
@return [String]
Private Instance Methods
Source
# File lib/gitlab/client.rb, line 99 def only_show_last_four_chars(token) return '****' if token.size <= 4 "#{'*' * (token.size - 4)}#{token[-4..]}" end
Source
# File lib/gitlab/client.rb, line 94 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