diff options
| -rw-r--r-- | docs/gl_objects/builds.rst | 4 | ||||
| -rw-r--r-- | gitlab/v4/objects.py | 15 |
2 files changed, 18 insertions, 1 deletions
diff --git a/docs/gl_objects/builds.rst b/docs/gl_objects/builds.rst index a80fe6d..d74d9d6 100644 --- a/docs/gl_objects/builds.rst +++ b/docs/gl_objects/builds.rst @@ -29,6 +29,10 @@ Get a pipeline for a project:: pipeline = project.pipelines.get(pipeline_id) +Get variables of a pipeline:: + + variables = pipeline.variables.list() + Create a pipeline for a particular reference:: pipeline = project.pipelines.create({'ref': 'master'}) diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py index 16a3da8..8fc7150 100644 --- a/gitlab/v4/objects.py +++ b/gitlab/v4/objects.py @@ -3100,8 +3100,21 @@ class ProjectPipelineJobManager(ListMixin, RESTManager): _list_filters = ("scope",) +class ProjectPipelineVariable(RESTObject): + _id_attr = "key" + + +class ProjectPipelineVariableManager(ListMixin, RESTManager): + _path = "/projects/%(project_id)s/pipelines/%(pipeline_id)s/variables" + _obj_cls = ProjectPipelineVariable + _from_parent_attrs = {"project_id": "project_id", "pipeline_id": "id"} + + class ProjectPipeline(RESTObject, RefreshMixin, ObjectDeleteMixin): - _managers = (("jobs", "ProjectPipelineJobManager"),) + _managers = ( + ("jobs", "ProjectPipelineJobManager"), + ("variables", "ProjectPipelineVariableManager"), + ) @cli.register_custom_action("ProjectPipeline") @exc.on_http_error(exc.GitlabPipelineCancelError) |
