diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/gl_objects/users.py | 71 | ||||
-rw-r--r-- | docs/gl_objects/users.rst | 218 |
2 files changed, 151 insertions, 138 deletions
diff --git a/docs/gl_objects/users.py b/docs/gl_objects/users.py index 798678d..c3618b9 100644 --- a/docs/gl_objects/users.py +++ b/docs/gl_objects/users.py @@ -36,37 +36,44 @@ user.unblock() # end block # key list -keys = gl.user_keys.list(user_id=1) -# or keys = user.keys.list() # end key list # key get -key = gl.user_keys.list(1, user_id=1) -# or key = user.keys.get(1) # end key get # key create -k = gl.user_keys.create({'title': 'my_key', - 'key': open('/home/me/.ssh/id_rsa.pub').read()}, - user_id=2) -# or k = user.keys.create({'title': 'my_key', 'key': open('/home/me/.ssh/id_rsa.pub').read()}) # end key create # key delete -gl.user_keys.delete(1, user_id=1) -# or user.keys.delete(1) # or key.delete() # end key delete -# email list -emails = gl.user_emails.list(user_id=1) +# gpgkey list +gpgkeys = user.gpgkeys.list() +# end gpgkey list + +# gpgkey get +gpgkey = user.gpgkeys.get(1) +# end gpgkey get + +# gpgkey create +# get the key with `gpg --export -a GPG_KEY_ID` +k = user.gpgkeys.create({'key': public_key_content}) +# end gpgkey create + +# gpgkey delete +user.gpgkeys.delete(1) # or +gpgkey.delete() +# end gpgkey delete + +# email list emails = user.emails.list() # end email list @@ -77,14 +84,10 @@ email = user.emails.get(1) # end email get # email create -k = gl.user_emails.create({'email': 'foo@bar.com'}, user_id=2) -# or k = user.emails.create({'email': 'foo@bar.com'}) # end email create # email delete -gl.user_emails.delete(1, user_id=1) -# or user.emails.delete(1) # or email.delete() @@ -94,39 +97,3 @@ email.delete() gl.auth() current_user = gl.user # end currentuser get - -# currentuser key list -keys = gl.user.keys.list() -# end currentuser key list - -# currentuser key get -key = gl.user.keys.get(1) -# end currentuser key get - -# currentuser key create -key = gl.user.keys.create({'id': 'my_key', 'key': key_content}) -# end currentuser key create - -# currentuser key delete -gl.user.keys.delete(1) -# or -key.delete() -# end currentuser key delete - -# currentuser email list -emails = gl.user.emails.list() -# end currentuser email list - -# currentuser email get -email = gl.user.emails.get(1) -# end currentuser email get - -# currentuser email create -email = gl.user.emails.create({'email': 'foo@bar.com'}) -# end currentuser email create - -# currentuser email delete -gl.user.emails.delete(1) -# or -email.delete() -# end currentuser email delete diff --git a/docs/gl_objects/users.rst b/docs/gl_objects/users.rst index 8df93b0..d5b2976 100644 --- a/docs/gl_objects/users.rst +++ b/docs/gl_objects/users.rst @@ -1,14 +1,32 @@ -##### +###################### +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: + + + :class:`gitlab.v4.objects.User` + + :class:`gitlab.v4.objects.UserManager` + + :attr:`gitlab.Gitlab.users` -Use :class:`~gitlab.objects.User` objects to manipulate repository branches. +* v3 API: -To create :class:`~gitlab.objects.User` objects use the -:attr:`gitlab.Gitlab.users` manager. + + :class:`gitlab.v3.objects.User` + + :class:`gitlab.v3.objects.UserManager` + + :attr:`gitlab.Gitlab.users` Examples -======== +-------- Get the list of users: @@ -52,14 +70,97 @@ Block/Unblock a user: :start-after: # block :end-before: # end block +Current User +============ + +* v4 API: + + + :class:`gitlab.v4.objects.CurrentUser` + + :class:`gitlab.v4.objects.CurrentUserManager` + + :attr:`gitlab.Gitlab.user` + +* v3 API: + + + :class:`gitlab.v3.objects.CurrentUser` + + :class:`gitlab.v3.objects.CurrentUserManager` + + :attr:`gitlab.Gitlab.user` + +Examples +-------- + +Get the current user: + +.. literalinclude:: users.py + :start-after: # currentuser get + :end-before: # end currentuser get + +GPG keys +======== + +You can manipulate GPG keys for the current user and for the other users if you +are admin. + +* v4 API: + + + :class:`gitlab.v4.objects.CurrentUserGPGKey` + + :class:`gitlab.v4.objects.CurrentUserGPGKeyManager` + + :attr:`gitlab.v4.objects.CurrentUser.gpgkeys` + + :class:`gitlab.v4.objects.UserGPGKey` + + :class:`gitlab.v4.objects.UserGPGKeyManager` + + :attr:`gitlab.v4.objects.User.gpgkeys` + +Exemples +-------- + +List GPG keys for a user: + +.. literalinclude:: users.py + :start-after: # gpgkey list + :end-before: # end gpgkey list + +Get an GPG gpgkey for a user: + +.. literalinclude:: users.py + :start-after: # gpgkey get + :end-before: # end gpgkey get + +Create an GPG gpgkey for a user: + +.. literalinclude:: users.py + :start-after: # gpgkey create + :end-before: # end gpgkey create + +Delete an GPG gpgkey for a user: + +.. literalinclude:: users.py + :start-after: # gpgkey delete + :end-before: # end gpgkey delete + SSH keys ======== -Use the :class:`~gitlab.objects.UserKey` objects to manage user keys. +You can manipulate SSH keys for the current user and for the other users if you +are admin. + +* v4 API: + + + :class:`gitlab.v4.objects.CurrentUserKey` + + :class:`gitlab.v4.objects.CurrentUserKeyManager` + + :attr:`gitlab.v4.objects.CurrentUser.keys` + + :class:`gitlab.v4.objects.UserKey` + + :class:`gitlab.v4.objects.UserKeyManager` + + :attr:`gitlab.v4.objects.User.keys` -To create :class:`~gitlab.objects.UserKey` objects use the -:attr:`User.keys <gitlab.objects.User.keys>` or :attr:`gitlab.Gitlab.user_keys` -managers. +* v3 API: + + + :class:`gitlab.v3.objects.CurrentUserKey` + + :class:`gitlab.v3.objects.CurrentUserKeyManager` + + :attr:`gitlab.v3.objects.CurrentUser.keys` + + :attr:`gitlab.Gitlab.user.keys` + + :class:`gitlab.v3.objects.UserKey` + + :class:`gitlab.v3.objects.UserKeyManager` + + :attr:`gitlab.v3.objects.User.keys` + + :attr:`gitlab.Gitlab.user_keys` Exemples -------- @@ -91,10 +192,28 @@ Delete an SSH key for a user: Emails ====== -Use the :class:`~gitlab.objects.UserEmail` objects to manage user emails. +You can manipulate emails for the current user and for the other users if you +are admin. + +* v4 API: + + + :class:`gitlab.v4.objects.CurrentUserEmail` + + :class:`gitlab.v4.objects.CurrentUserEmailManager` + + :attr:`gitlab.v4.objects.CurrentUser.emails` + + :class:`gitlab.v4.objects.UserEmail` + + :class:`gitlab.v4.objects.UserEmailManager` + + :attr:`gitlab.v4.objects.User.emails` -To create :class:`~gitlab.objects.UserEmail` objects use the :attr:`User.emails -<gitlab.objects.User.emails>` or :attr:`gitlab.Gitlab.user_emails` managers. +* v3 API: + + + :class:`gitlab.v3.objects.CurrentUserEmail` + + :class:`gitlab.v3.objects.CurrentUserEmailManager` + + :attr:`gitlab.v3.objects.CurrentUser.emails` + + :attr:`gitlab.Gitlab.user.emails` + + :class:`gitlab.v3.objects.UserEmail` + + :class:`gitlab.v3.objects.UserEmailManager` + + :attr:`gitlab.v3.objects.User.emails` + + :attr:`gitlab.Gitlab.user_emails` Exemples -------- @@ -122,76 +241,3 @@ Delete an email for a user: .. literalinclude:: users.py :start-after: # email delete :end-before: # end email delete - -Current User -============ - -Use the :class:`~gitlab.objects.CurrentUser` object to get information about -the currently logged-in user. - -Use the :class:`~gitlab.objects.CurrentUserKey` objects to manage user keys. - -To create :class:`~gitlab.objects.CurrentUserKey` objects use the -:attr:`gitlab.objects.CurrentUser.keys <CurrentUser.keys>` manager. - -Use the :class:`~gitlab.objects.CurrentUserEmail` objects to manage user emails. - -To create :class:`~gitlab.objects.CurrentUserEmail` objects use the -:attr:`gitlab.objects.CurrentUser.emails <CurrentUser.emails>` manager. - -Examples --------- - -Get the current user: - -.. literalinclude:: users.py - :start-after: # currentuser get - :end-before: # end currentuser get - -List the current user SSH keys: - -.. literalinclude:: users.py - :start-after: # currentuser key list - :end-before: # end currentuser key list - -Get a key for the current user: - -.. literalinclude:: users.py - :start-after: # currentuser key get - :end-before: # end currentuser key get - -Create a key for the current user: - -.. literalinclude:: users.py - :start-after: # currentuser key create - :end-before: # end currentuser key create - -Delete a key for the current user: - -.. literalinclude:: users.py - :start-after: # currentuser key delete - :end-before: # end currentuser key delete - -List the current user emails: - -.. literalinclude:: users.py - :start-after: # currentuser email list - :end-before: # end currentuser email list - -Get an email for the current user: - -.. literalinclude:: users.py - :start-after: # currentuser email get - :end-before: # end currentuser email get - -Create an email for the current user: - -.. literalinclude:: users.py - :start-after: # currentuser email create - :end-before: # end currentuser email create - -Delete an email for the current user: - -.. literalinclude:: users.py - :start-after: # currentuser email delete - :end-before: # end currentuser email delete |