Skip to content

Commit 0c1817f

Browse files
author
Gauvain Pocentek
committed
Merge branch 'master-project-deploy-keys' of https://github.com/Asher256/python-gitlab into Asher256-master-project-deploy-keys
2 parents 12fca84 + 6bedfc3 commit 0c1817f

File tree

4 files changed

+36
-0
lines changed

4 files changed

+36
-0
lines changed

docs/gl_objects/deploy_keys.py

+8
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,11 @@
3434
# or
3535
key.delete()
3636
# end delete
37+
38+
# enable
39+
key = project.keys.enable(key_id)
40+
# end enable
41+
42+
# disable
43+
key = project.keys.disable(key_id)
44+
# end disable

docs/gl_objects/deploy_keys.rst

+12
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,15 @@ Delete a deploy key for a project:
5656
.. literalinclude:: deploy_keys.py
5757
:start-after: # delete
5858
:end-before: # end delete
59+
60+
Enable a deploy key for a project:
61+
62+
.. literalinclude:: deploy_keys.py
63+
:start-after: # enable
64+
:end-before: # end enable
65+
66+
Disable a deploy key for a project:
67+
68+
.. literalinclude:: deploy_keys.py
69+
:start-after: # disable
70+
:end-before: # end disable

gitlab/exceptions.py

+4
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ class GitlabTransferProjectError(GitlabOperationError):
7575
pass
7676

7777

78+
class GitlabProjectDeployKeyError(GitlabOperationError):
79+
pass
80+
81+
7882
class GitlabCancelError(GitlabOperationError):
7983
pass
8084

gitlab/objects.py

+12
Original file line numberDiff line numberDiff line change
@@ -1253,6 +1253,18 @@ class ProjectKey(GitlabObject):
12531253
class ProjectKeyManager(BaseManager):
12541254
obj_cls = ProjectKey
12551255

1256+
def enable(self, key_id):
1257+
"""Enable a deploy key for a project."""
1258+
url = '/projects/%s/deploy_keys/%s/enable' % (self.parent.id, key_id)
1259+
r = self.gitlab._raw_post(url)
1260+
raise_error_from_response(r, GitlabProjectDeployKeyError, 201)
1261+
1262+
def disable(self, key_id):
1263+
"""Disable a deploy key for a project."""
1264+
url = '/projects/%s/deploy_keys/%s/disable' % (self.parent.id, key_id)
1265+
r = self.gitlab._raw_delete(url)
1266+
raise_error_from_response(r, GitlabProjectDeployKeyError, 201)
1267+
12561268

12571269
class ProjectEvent(GitlabObject):
12581270
_url = '/projects/%(project_id)s/events'

0 commit comments

Comments
 (0)