summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2016-10-03 06:31:48 +0200
committerGitHub <noreply@github.com>2016-10-03 06:31:48 +0200
commitd4a24a5c4dc54ac03b917723347047e3995afcc9 (patch)
treea389fba31a2888908cf532d7121a85fe477cb4f3
parent7d424ae5a4dad41533af7add24d728c315563022 (diff)
parent3b3930b5525e7ea46afc271949f52d02adc6b5ce (diff)
downloadgitlab-d4a24a5c4dc54ac03b917723347047e3995afcc9.tar.gz
Merge pull request #159 from JonathonReinhart/158-erase-build
Add ProjectBuild.erase()
-rw-r--r--docs/gl_objects/builds.py10
-rw-r--r--docs/gl_objects/builds.rst6
-rw-r--r--gitlab/exceptions.py4
-rw-r--r--gitlab/objects.py6
4 files changed, 16 insertions, 10 deletions
diff --git a/docs/gl_objects/builds.py b/docs/gl_objects/builds.py
index b0d7ea2..d73ddd5 100644
--- a/docs/gl_objects/builds.py
+++ b/docs/gl_objects/builds.py
@@ -103,10 +103,6 @@ build.cancel()
build.retry()
# end retry
-# delete
-gl.project_builds.delete(build_id, project_id=1)
-# or
-project.builds.delete(build_id)
-# or
-build.delete()
-# end delete
+# erase
+build.erase()
+# end erase
diff --git a/docs/gl_objects/builds.rst b/docs/gl_objects/builds.rst
index 1c4c525..e4c1258 100644
--- a/docs/gl_objects/builds.rst
+++ b/docs/gl_objects/builds.rst
@@ -150,8 +150,8 @@ Cancel/retry a build:
:start-after: # retry
:end-before: # end retry
-Erase a build:
+Erase a build (artifacts and trace):
.. literalinclude:: builds.py
- :start-after: # delete
- :end-before: # end delete
+ :start-after: # erase
+ :end-before: # end erase
diff --git a/gitlab/exceptions.py b/gitlab/exceptions.py
index 7b0f7f0..0fc8617 100644
--- a/gitlab/exceptions.py
+++ b/gitlab/exceptions.py
@@ -95,6 +95,10 @@ class GitlabBuildRetryError(GitlabRetryError):
pass
+class GitlabBuildEraseError(GitlabRetryError):
+ pass
+
+
class GitlabPipelineRetryError(GitlabRetryError):
pass
diff --git a/gitlab/objects.py b/gitlab/objects.py
index 8821633..2609e1b 100644
--- a/gitlab/objects.py
+++ b/gitlab/objects.py
@@ -961,6 +961,12 @@ class ProjectBuild(GitlabObject):
r = self.gitlab._raw_post(url)
raise_error_from_response(r, GitlabBuildRetryError, 201)
+ def erase(self, **kwargs):
+ """Erase the build (remove build artifacts and trace)."""
+ url = '/projects/%s/builds/%s/erase' % (self.project_id, self.id)
+ r = self.gitlab._raw_post(url)
+ raise_error_from_response(r, GitlabBuildEraseError, 201)
+
def keep_artifacts(self, **kwargs):
"""Prevent artifacts from being delete when expiration is set.