def parameters(self): param_elements = PossiblyMissingElement(self.element).possibly_missing_child("params").findall("param") result = {} for param_element in param_elements: result[param_element.attrib['name']] = param_element.text return result
def without_any_parameters(self): PossiblyMissingElement(self.element).possibly_missing_child("params").remove_all_children() return self
def tabs(self): return [Tab(e.attrib['name'], e.attrib['path']) for e in PossiblyMissingElement(self.element).possibly_missing_child('tabs').findall('tab')]
def set_git_material(self, git_material): if len(self.git_materials) > 1: raise RuntimeError('Cannot set git url for pipeline that already has multiple git materials. Use "ensure_material(GitMaterial(..." instead') PossiblyMissingElement(self.element).possibly_missing_child('materials').remove_all_children('git') self.__add_material(git_material) return self
def agents(self): return [ Agent(e) for e in PossiblyMissingElement(self.__xml_root). possibly_missing_child('agents').findall('agent') ]
def make_empty(self): PossiblyMissingElement(self.element).remove_all_children()
def fetch_materials(self): return not PossiblyMissingElement(self.element).has_attribute("fetchMaterials", "false")
def remove_materials(self): PossiblyMissingElement(self.element).remove_all_children('materials')
def clean_working_dir(self): return PossiblyMissingElement(self.element).has_attribute('cleanWorkingDir', "true")
def has_manual_approval(self): return PossiblyMissingElement(self.element).possibly_missing_child("approval").has_attribute("type", "manual")
def jobs(self): job_elements = PossiblyMissingElement(self.element).possibly_missing_child('jobs').findall('job') return [Job(job_element, self) for job_element in job_elements]
def without_any_tasks(self): PossiblyMissingElement(self.element).possibly_missing_child("tasks").remove_all_children() return self
def tasks(self): return [Task(e) for e in PossiblyMissingElement(self.element).possibly_missing_child("tasks").iterator]
def remove_timer(self): PossiblyMissingElement(self.element).remove_all_children('timer') return self
def _approval_authorization(self): return PossiblyMissingElement(self.element).possibly_missing_child('approval').possibly_missing_child('authorization')
def make_empty(self): PossiblyMissingElement(self.element).remove_all_children().remove_attribute('labeltemplate')
def fetch_materials(self, value): if value: PossiblyMissingElement(self.element).remove_attribute("fetchMaterials") else: Ensurance(self.element).set("fetchMaterials", "false")
def repositories(self): return [ Repository(e) for e in PossiblyMissingElement(self.__xml_root). possibly_missing_child('repositories').findall('repository') ]
def materials(self): elements = PossiblyMissingElement(self.element).possibly_missing_child('materials').iterator return [Materials(element) for element in elements]
def templates(self): return [ Pipeline(e, 'templates') for e in PossiblyMissingElement(self.__xml_root). possibly_missing_child('templates').findall('pipeline') ]
def set_package_material(self, package_material): if len(self.package_materials) > 1: raise RuntimeError('Cannot set package ref for pipeline that already has multiple package materials. Use "ensure_material(PackageMaterial(..." instead') PossiblyMissingElement(self.element).possibly_missing_child('materials').remove_all_children('package') self.__add_material(package_material) return self
def __possibly_missing_server_element(self): return PossiblyMissingElement( self.__xml_root).possibly_missing_child('server')
def artifacts(self): artifact_elements = PossiblyMissingElement(self.element).possibly_missing_child("artifacts").iterator return set([Artifact.get_artifact_for(e) for e in artifact_elements])