Skip to content

Commit 9ba2d89

Browse files
author
Gauvain Pocentek
committed
document users API
1 parent cdd801e commit 9ba2d89

File tree

3 files changed

+217
-0
lines changed

3 files changed

+217
-0
lines changed

docs/api-objects.rst

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ API objects manipulation
55
.. toctree::
66

77
gl_objects/branches
8+
gl_objects/users

docs/gl_objects/users.py

+88
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# list
2+
users = gl.users.list()
3+
# end list
4+
5+
# search
6+
users = gl.users.list(search='oo')
7+
# end search
8+
9+
# get
10+
# by ID
11+
user = gl.users.get(2)
12+
# by username
13+
user = gl.users.list(username='root')
14+
# end get
15+
16+
# create
17+
user = gl.users.create({'email': 'john@doe.com',
18+
'password': 's3cur3s3cr3T',
19+
'username': 'jdoe',
20+
'name': 'John Doe'})
21+
# end create
22+
23+
# update
24+
user.name = 'Real Name'
25+
user.save()
26+
# end update
27+
28+
# delete
29+
gl.users.delete(2)
30+
user.delete()
31+
# end delete
32+
33+
# block
34+
user.block()
35+
user.unblock()
36+
# end block
37+
38+
# key list
39+
keys = gl.user_keys.list(user_id=1)
40+
# or
41+
keys = user.keys.list()
42+
# end key list
43+
44+
# key get
45+
key = gl.user_keys.list(1, user_id=1)
46+
# or
47+
key = user.keys.get(1)
48+
# end key get
49+
50+
# key create
51+
k = gl.user_keys.create({'title': 'my_key',
52+
'key': open('/home/me/.ssh/id_rsa.pub').read()},
53+
user_id=2)
54+
# or
55+
k = user.keys.create({'title': 'my_key',
56+
'key': open('/home/me/.ssh/id_rsa.pub').read()})
57+
# end key create
58+
59+
# key delete
60+
gl.user_keys.delete(1, user_id=1)
61+
# or
62+
user.keys.delete(1)
63+
# or
64+
key.delete()
65+
# end key delete
66+
67+
# currentuser get
68+
gl.auth()
69+
current_user = gl.user
70+
# end currentuser get
71+
72+
# currentuser key list
73+
keys = gl.user.keys.list()
74+
# end currentuser key list
75+
76+
# currentuser key get
77+
key = gl.user.keys.get(1)
78+
# end currentuser key get
79+
80+
# currentuser key create
81+
key = gl.user.keys.create({'id': 'my_key', 'key': key_content})
82+
# end currentuser key create
83+
84+
# currentuser key delete
85+
gl.user.keys.delete(1)
86+
# or
87+
key.delete()
88+
# end currentuser key delete

docs/gl_objects/users.rst

+128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
#####
2+
Users
3+
#####
4+
5+
Use :class:`User` objects to manipulate repository branches.
6+
7+
To create :class:`User` objects use the :class:`Gitlab.users` manager.
8+
9+
Examples
10+
========
11+
12+
Get the list of users:
13+
14+
.. literalinclude:: users.py
15+
:start-after: # list
16+
:end-before: # end list
17+
18+
Search users whose username match the given string:
19+
20+
.. literalinclude:: users.py
21+
:start-after: # search
22+
:end-before: # end search
23+
24+
Get a single user:
25+
26+
.. literalinclude:: users.py
27+
:start-after: # get
28+
:end-before: # end get
29+
30+
Create a user:
31+
32+
.. literalinclude:: users.py
33+
:start-after: # create
34+
:end-before: # end create
35+
36+
Update a user:
37+
38+
.. literalinclude:: users.py
39+
:start-after: # update
40+
:end-before: # end update
41+
42+
Delete a user:
43+
44+
.. literalinclude:: users.py
45+
:start-after: # delete
46+
:end-before: # end delete
47+
48+
Block/Unblock a user:
49+
50+
.. literalinclude:: users.py
51+
:start-after: # block
52+
:end-before: # end block
53+
54+
SSH keys
55+
========
56+
57+
Use the :class:`UserKey` objects to manage user keys.
58+
59+
To create :class:`UserKey` objects use the :class:`User.keys` or
60+
:class:`Gitlab.user_keys` managers.
61+
62+
Exemples
63+
--------
64+
65+
List SSH keys for a user:
66+
67+
.. literalinclude:: users.py
68+
:start-after: # key list
69+
:end-before: # end key list
70+
71+
Get an SSH key for a user:
72+
73+
.. literalinclude:: users.py
74+
:start-after: # key get
75+
:end-before: # end key get
76+
77+
Create an SSH key for a user:
78+
79+
.. literalinclude:: users.py
80+
:start-after: # key create
81+
:end-before: # end key create
82+
83+
Delete an SSH key for a user:
84+
85+
.. literalinclude:: users.py
86+
:start-after: # key delete
87+
:end-before: # end key delete
88+
89+
Current User
90+
============
91+
92+
Use the :class:`CurrentUser` object to get information about the currently
93+
logged-in user.
94+
95+
Examples
96+
--------
97+
98+
Get the current user:
99+
100+
.. literalinclude:: users.py
101+
:start-after: # currentuser get
102+
:end-before: # end currentuser get
103+
104+
List the current user SSH keys:
105+
106+
.. literalinclude:: users.py
107+
:start-after: # currentuser key list
108+
:end-before: # end currentuser key list
109+
110+
Get a key for the current user:
111+
112+
.. literalinclude:: users.py
113+
:start-after: # currentuser key get
114+
:end-before: # end currentuser key get
115+
116+
Create a key for the current user:
117+
118+
.. literalinclude:: users.py
119+
:start-after: # currentuser key create
120+
:end-before: # end currentuser key create
121+
122+
Delete a key for the current user:
123+
124+
.. literalinclude:: users.py
125+
:start-after: # currentuser key delete
126+
:end-before: # end currentuser key delete
127+
128+

0 commit comments

Comments
 (0)