Skip to content

Latest commit

 

History

History
369 lines (247 loc) · 7.6 KB

users.rst

File metadata and controls

369 lines (247 loc) · 7.6 KB

Users and current user

The Gitlab API exposes user-related method that can be manipulated by admins only.

The currently logged-in user is also exposed.

Users

References

  • v4 API:
    • gitlab.v4.objects.User
    • gitlab.v4.objects.UserManager
    • :attr:gitlab.Gitlab.users
  • v3 API:
    • gitlab.v3.objects.User
    • gitlab.v3.objects.UserManager
    • :attr:gitlab.Gitlab.users
  • GitLab API: https://docs.gitlab.com/ce/api/users.html

Examples

Get the list of users:

users.py

Search users whose username match the given string:

users.py

Get a single user:

users.py

Create a user:

users.py

Update a user:

users.py

Delete a user:

users.py

Block/Unblock a user:

users.py

User custom attributes

References

Examples

List custom attributes for a user:

attrs = user.customattributes.list()

Get a custom attribute for a user:

attr = user.customattributes.get(attr_key)

Set (create or update) a custom attribute for a user:

attr = user.customattributes.set(attr_key, attr_value)

Delete a custom attribute for a user:

attr.delete()
# or
user.customattributes.delete(attr_key)

Search users by custom attribute:

user.customattributes.set('role': 'QA')
gl.users.list(custom_attributes={'role': 'QA'})

User impersonation tokens

References

List impersonation tokens for a user:

users.py

Get an impersonation token for a user:

users.py

Create and use an impersonation token for a user:

users.py

Revoke (delete) an impersonation token for a user:

users.py

Current User

References

  • v4 API:
    • gitlab.v4.objects.CurrentUser
    • gitlab.v4.objects.CurrentUserManager
    • :attr:gitlab.Gitlab.user
  • v3 API:
    • gitlab.v3.objects.CurrentUser
    • gitlab.v3.objects.CurrentUserManager
    • :attr:gitlab.Gitlab.user
  • GitLab API: https://docs.gitlab.com/ce/api/users.html

Examples

Get the current user:

users.py

GPG keys

References

You can manipulate GPG keys for the current user and for the other users if you are admin.

  • v4 API:
    • gitlab.v4.objects.CurrentUserGPGKey
    • gitlab.v4.objects.CurrentUserGPGKeyManager
    • :attr:gitlab.v4.objects.CurrentUser.gpgkeys
    • gitlab.v4.objects.UserGPGKey
    • gitlab.v4.objects.UserGPGKeyManager
    • :attr:gitlab.v4.objects.User.gpgkeys
  • GitLab API: https://docs.gitlab.com/ce/api/users.html#list-all-gpg-keys

Exemples

List GPG keys for a user:

users.py

Get a GPG gpgkey for a user:

users.py

Create a GPG gpgkey for a user:

users.py

Delete a GPG gpgkey for a user:

users.py

SSH keys

References

You can manipulate SSH keys for the current user and for the other users if you are admin.

  • v4 API:
    • gitlab.v4.objects.CurrentUserKey
    • gitlab.v4.objects.CurrentUserKeyManager
    • :attr:gitlab.v4.objects.CurrentUser.keys
    • gitlab.v4.objects.UserKey
    • gitlab.v4.objects.UserKeyManager
    • :attr:gitlab.v4.objects.User.keys
  • v3 API:
    • gitlab.v3.objects.CurrentUserKey
    • gitlab.v3.objects.CurrentUserKeyManager
    • :attr:gitlab.v3.objects.CurrentUser.keys
    • :attr:gitlab.Gitlab.user.keys
    • gitlab.v3.objects.UserKey
    • gitlab.v3.objects.UserKeyManager
    • :attr:gitlab.v3.objects.User.keys
    • :attr:gitlab.Gitlab.user_keys
  • GitLab API: https://docs.gitlab.com/ce/api/users.html#list-ssh-keys

Exemples

List SSH keys for a user:

users.py

Get an SSH key for a user:

users.py

Create an SSH key for a user:

users.py

Delete an SSH key for a user:

users.py

Emails

References

You can manipulate emails for the current user and for the other users if you are admin.

  • v4 API:
    • gitlab.v4.objects.CurrentUserEmail
    • gitlab.v4.objects.CurrentUserEmailManager
    • :attr:gitlab.v4.objects.CurrentUser.emails
    • gitlab.v4.objects.UserEmail
    • gitlab.v4.objects.UserEmailManager
    • :attr:gitlab.v4.objects.User.emails
  • v3 API:
    • gitlab.v3.objects.CurrentUserEmail
    • gitlab.v3.objects.CurrentUserEmailManager
    • :attr:gitlab.v3.objects.CurrentUser.emails
    • :attr:gitlab.Gitlab.user.emails
    • gitlab.v3.objects.UserEmail
    • gitlab.v3.objects.UserEmailManager
    • :attr:gitlab.v3.objects.User.emails
    • :attr:gitlab.Gitlab.user_emails
  • GitLab API: https://docs.gitlab.com/ce/api/users.html#list-emails

Exemples

List emails for a user:

users.py

Get an email for a user:

users.py

Create an email for a user:

users.py

Delete an email for a user:

users.py

Users activities

References

Examples

Get the users activities:

activities = gl.user_activities.list(all=True, as_list=False)