module Gitlab::Client::Users

def add_email(email, user_id=nil)

Returns:
  • (Gitlab::ObjectifiedHash) -

Parameters:
  • user_id (Integer) -- The ID of a user.
  • email (String) -- Email address
def add_email(email, user_id=nil)
  url = user_id.to_i.zero? ? "/user/emails" : "/users/#{user_id}/emails"
  post(url, body: {email: email})
end

def block_user(user_id)

Returns:
  • (Boolean) - success or not

Parameters:
  • user_id (Integer) -- The Id of user
def block_user(user_id)
  put("/users/#{user_id}/block")
end

def create_ssh_key(title, key)

Returns:
  • (Gitlab::ObjectifiedHash) - Information about created SSH key.

Parameters:
  • key (String) -- The SSH key body.
  • title (String) -- The title of an SSH key.
def create_ssh_key(title, key)
  post("/user/keys", body: { title: title, key: key })
end

def create_user(*args)

Returns:
  • (Gitlab::ObjectifiedHash) - Information about created user.

Options Hash: (**options)
  • :projects_limit (Integer) -- The limit of projects for a user.
  • :twitter (String) -- The twitter of a user.
  • :linkedin (String) -- The linkedin of a user.
  • :skype (String) -- The skype of a user.
  • :name (String) -- The name of a user. Defaults to email.

Parameters:
  • options (Hash) -- A customizable set of options.
  • username (String) -- The username of a user.
  • password (String) -- The password of a user.
  • email (String) -- The email of a user.
def create_user(*args)
  options = Hash === args.last ? args.pop : {}
  if args[2]
    body = { email: args[0], password: args[1], username: args[2] }
  else
    body = { email: args[0], password: args[1], name: args[0] }
  end
  body.merge!(options)
  post('/users', body: body)
end

def delete_email(id, user_id=nil)

Returns:
  • (Boolean) -

Parameters:
  • user_id (Integer) -- The ID of a user.
  • id (Integer) -- Email address ID
def delete_email(id, user_id=nil)
  url = user_id.to_i.zero? ? "/user/emails/#{id}" : "/users/#{user_id}/emails/#{id}"
  delete(url)
end

def delete_ssh_key(id)

Returns:
  • (Gitlab::ObjectifiedHash) - Information about deleted SSH key.

Parameters:
  • id (Integer) -- The ID of a user's SSH key.
def delete_ssh_key(id)
  delete("/user/keys/#{id}")
end

def delete_user(user_id)

Returns:
  • (Gitlab::ObjectifiedHash) - Information about deleted user.

Parameters:
  • id (Integer) -- The ID of a user.
def delete_user(user_id)
  delete("/users/#{user_id}")
end

def edit_user(user_id, options={})

Returns:
  • (Gitlab::ObjectifiedHash) - Information about created user.

Options Hash: (**options)
  • :projects_limit (Integer) -- The limit of projects for a user.
  • :twitter (String) -- The twitter of a user.
  • :linkedin (String) -- The linkedin of a user.
  • :skype (String) -- The skype of a user.
  • :name (String) -- The name of a user. Defaults to email.
  • :password (String) -- The password of a user.
  • :email (String) -- The email of a user.

Parameters:
  • options (Hash) -- A customizable set of options.
  • id (Integer) -- The ID of a user.
def edit_user(user_id, options={})
  put("/users/#{user_id}", body: options)
end

def email(id)

Returns:
  • (Gitlab::ObjectifiedHash) -

Parameters:
  • id (Integer) -- The ID of a email.
def email(id)
  get("/user/emails/#{id}")
end

def emails(user_id=nil)

Returns:
  • (Gitlab::ObjectifiedHash) -

Parameters:
  • user_id (Integer) -- The ID of a user.
def emails(user_id=nil)
  url = user_id.to_i.zero? ? "/user/emails" : "/users/#{user_id}/emails"
  get(url)
end

def session(email, password)

Other tags:
    Note: - This method doesn't require private_token to be set.

Returns:
  • (Gitlab::ObjectifiedHash) -

Parameters:
  • password (String) -- The password of a user.
  • email (String) -- The email of a user.
def session(email, password)
  post("/session", body: { email: email, password: password })
end

def ssh_key(id)

Returns:
  • (Gitlab::ObjectifiedHash) -

Parameters:
  • id (Integer) -- The ID of a user's SSH key.
def ssh_key(id)
  get("/user/keys/#{id}")
end

def ssh_keys(options={})

Returns:
  • (Array) -

Options Hash: (**options)
  • :per_page (Integer) -- The number of results per page.
  • :page (Integer) -- The page number.

Parameters:
  • options (Hash) -- A customizable set of options.
def ssh_keys(options={})
  get("/user/keys", query: options)
end

def unblock_user(user_id)

Returns:
  • (Boolean) - success or not

Parameters:
  • user_id (Integer) -- The Id of user
def unblock_user(user_id)
  put("/users/#{user_id}/unblock")
end

def user(id=nil)

Returns:
  • (Gitlab::ObjectifiedHash) -

Parameters:
  • id (Integer) -- The ID of a user.
def user(id=nil)
  id.to_i.zero? ? get("/user") : get("/users/#{id}")
end

def user_search(search, options={})

Returns:
  • (Array) -

Options Hash: (**options)
  • :page (String) -- The page to retrieve
  • :per_page (String) -- Number of user to return per page

Parameters:
  • options (Hash) -- A customizable set of options.
  • search (String) -- A string to search for in user names and paths.
def user_search(search, options={})
  options[:search] = search
  get("/users", query: options)
end

def users(options={})

Returns:
  • (Array) -

Options Hash: (**options)
  • :per_page (Integer) -- The number of results per page.
  • :page (Integer) -- The page number.

Parameters:
  • options (Hash) -- A customizable set of options.
def users(options={})
  get("/users", query: options)
end