Source code for gocd.api.pipeline_groups

from gocd.api.endpoint import Endpoint


[docs]class PipelineGroups(Endpoint): base_path = 'go/api/config' _id = False _response = None _pipelines = None def __init__(self, server): self.server = server
[docs] def get_pipeline_groups(self): """Makes a call to the Go server to fetch the pipeline groups. Saves the response to :attr:`response`. Returns: Response: an instance of :class:`gocd.api.Response` """ self._response = self._get('/pipeline_groups') return self._response
@property def response(self): """Returns the last response from fetching the pipeline groups from Go If there is no response then one will be fetched and returned. Returns: Response: an instance of :class:`gocd.api.Response` """ if self._response is None: self.get_pipeline_groups() return self._response @property def pipelines(self): """Returns a set of all pipelines from the last response Returns: set: Response success: all the pipelines available in the response Response failure: an empty set """ if not self.response: return set() elif self._pipelines is None and self.response: self._pipelines = set() for group in self.response.payload: for pipeline in group['pipelines']: self._pipelines.add(pipeline['name']) return self._pipelines