summaryrefslogtreecommitdiff
path: root/docs/gl_objects/builds.py
diff options
context:
space:
mode:
authorPierre Tardy <tardyp@gmail.com>2018-02-05 15:55:11 +0100
committerPierre Tardy <tardyp@gmail.com>2018-03-04 10:49:00 +0100
commit3424333bc98fcfc4733f2c5f1bf9a93b9a02135b (patch)
tree978ad66f1e18027d6e86ceeffa83e6a4ed08c474 /docs/gl_objects/builds.py
parent6bcc92a39a9a9dd97fa7387f754474c1cc5d78dc (diff)
downloadgitlab-3424333bc98fcfc4733f2c5f1bf9a93b9a02135b.tar.gz
introduce RefreshMixin
RefreshMixin allows to update a REST object so that you can poll on it. This is mostly useful for pipelines and jobs, but could be set on most of other objects, with unknown usecases.
Diffstat (limited to 'docs/gl_objects/builds.py')
-rw-r--r--docs/gl_objects/builds.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/gl_objects/builds.py b/docs/gl_objects/builds.py
index 0f616e8..03d3653 100644
--- a/docs/gl_objects/builds.py
+++ b/docs/gl_objects/builds.py
@@ -44,6 +44,22 @@ project.triggers.delete(trigger_token)
trigger.delete()
# end trigger delete
+# pipeline trigger
+def get_or_create_trigger(project):
+ trigger_decription = 'my_trigger_id'
+ for t in project.triggers.list():
+ if t.description == trigger_decription:
+ return t
+ return project.triggers.create({'description': trigger_decription})
+
+trigger = get_or_create_trigger(project)
+pipeline = project.trigger_pipeline('master', trigger.token, variables={"DEPLOY_ZONE": "us-west1"})
+while pipeline.finished_at is None:
+ pipeline.refresh()
+ os.sleep(1)
+
+# end pipeline trigger
+
# list
builds = project.builds.list() # v3
jobs = project.jobs.list() # v4