コード例 #1
0
ファイル: generic.py プロジェクト: victoryw/gomatic
 def __environment_variables(self, secure, encrypted=False):
     guarded_element = PossiblyMissingElement(self.element)
     variable_elements = guarded_element.possibly_missing_child("environmentvariables").findall("variable")
     result = {}
     for variable_element in variable_elements:
         if secure == self.__is_secure(variable_element):
             is_encrypted = self.__is_encrypted(variable_element)
             value_element_name = self.__value_element_name(is_encrypted)
             if encrypted == is_encrypted:
                 result[variable_element.attrib['name']] = variable_element.find(value_element_name).text
     return result
コード例 #2
0
ファイル: generic.py プロジェクト: SpringerSBM/gomatic
 def __environment_variables(self, secure, encrypted=False):
     guarded_element = PossiblyMissingElement(self.element)
     variable_elements = guarded_element.possibly_missing_child("environmentvariables").findall("variable")
     result = {}
     for variable_element in variable_elements:
         if secure == self.__is_secure(variable_element):
             is_encrypted = self.__is_encrypted(variable_element)
             value_element_name = self.__value_element_name(is_encrypted)
             if encrypted == is_encrypted:
                 result[variable_element.attrib['name']] = variable_element.find(value_element_name).text
     return result
コード例 #3
0
 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
コード例 #4
0
 def __sort_by_name_attribute(self, env_variables_element):
     environment_variable_elements = env_variables_element.findall(
         'variable')
     PossiblyMissingElement(env_variables_element).remove_all_children(
         "variable")
     for environment_variable_element in sorted(
             environment_variable_elements, key=lambda e: e.attrib['name']):
         env_variables_element.append(environment_variable_element)
コード例 #5
0
 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
コード例 #6
0
 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
コード例 #7
0
    def set_has_manual_approval(self, authorize_users=None, authorize_roles=None):
        approval_element = Ensurance(self.element).ensure_child_with_attribute("approval", "type", "manual").element
        if authorize_users or authorize_roles:
            auth_element = Ensurance(approval_element).ensure_child('authorization').element
            PossiblyMissingElement(auth_element).remove_all_children()
            for user in (authorize_users or []):
                auth_element.append(ET.fromstring('<user>{}</user>'.format(user)))
            for role in (authorize_roles or []):
                auth_element.append(ET.fromstring('<role>{}</role>'.format(role)))

        return self
コード例 #8
0
ファイル: generic.py プロジェクト: victoryw/gomatic
    def __ensure_environment_variables(self, environment_variables, secure, encrypted):
        ensured_env_variables = Ensurance(self.element).ensure_child("environmentvariables")
        for env_variable in sorted(environment_variables.keys()):
            variable_element = ensured_env_variables.ensure_child_with_attribute("variable", "name", env_variable)
            if secure:
                variable_element.set("secure", "true")
            else:
                PossiblyMissingElement(variable_element.element).remove_attribute("secure")
            value_element = variable_element.ensure_child(self.__value_element_name(encrypted))
            value_element.set_text(environment_variables[env_variable])

        self.__sort_by_name_attribute(ensured_env_variables.element)
コード例 #9
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def clean_working_dir(self):
     return PossiblyMissingElement(self.element).has_attribute('cleanWorkingDir', "true")
コード例 #10
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def jobs(self):
     job_elements = PossiblyMissingElement(self.element).possibly_missing_child('jobs').findall('job')
     return [Job(job_element) for job_element in job_elements]
コード例 #11
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def without_any_tasks(self):
     PossiblyMissingElement(self.__element).possibly_missing_child("tasks").remove_all_children()
     return self
コード例 #12
0
 def templates(self):
     return [Pipeline(e, 'templates') for e in PossiblyMissingElement(self.__xml_root).possibly_missing_child('templates').findall('pipeline')]
コード例 #13
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def without_any_parameters(self):
     PossiblyMissingElement(self.element).possibly_missing_child("params").remove_all_children()
     return self
コード例 #14
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def fetch_materials(self, value):
     if value:
         PossiblyMissingElement(self.element).remove_attribute("fetchMaterials")
     else:
         Ensurance(self.element).set("fetchMaterials", "false")
コード例 #15
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def make_empty(self):
     PossiblyMissingElement(self.element).remove_all_children().remove_attribute('labeltemplate')
コード例 #16
0
 def _approval_authorization(self):
     return PossiblyMissingElement(self.element).possibly_missing_child(
         'approval').possibly_missing_child('authorization')
コード例 #17
0
 def repositories(self):
     return [Repository(e) for e in PossiblyMissingElement(self.__xml_root).possibly_missing_child('repositories').findall('repository')]
コード例 #18
0
ファイル: artifact_stores.py プロジェクト: zekaicai/gomatic
 def artifact_store(self):
     return [
         ArtifactStore(e) for e in PossiblyMissingElement(
             self.element).findall('artifactStore')
     ]
コード例 #19
0
ファイル: generic.py プロジェクト: SpringerSBM/gomatic
 def resources(self):
     guarded_element = PossiblyMissingElement(self.element)
     return set([e.text for e in guarded_element.possibly_missing_child('resources').findall('resource')])
コード例 #20
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def has_manual_approval(self):
     return PossiblyMissingElement(self.element).possibly_missing_child("approval").has_attribute("type", "manual")
コード例 #21
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 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])
コード例 #22
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def fetch_materials(self):
     return not PossiblyMissingElement(self.element).has_attribute("fetchMaterials", "false")
コード例 #23
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def tasks(self):
     return [Task(e) for e in PossiblyMissingElement(self.__element).possibly_missing_child("tasks").iterator]
コード例 #24
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def materials(self):
     elements = PossiblyMissingElement(self.element).possibly_missing_child('materials').iterator
     return [Materials(element) for element in elements]
コード例 #25
0
ファイル: generic.py プロジェクト: victoryw/gomatic
 def resources(self):
     guarded_element = PossiblyMissingElement(self.element)
     return set([e.text for e in guarded_element.possibly_missing_child('resources').findall('resource')])
コード例 #26
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def remove_timer(self):
     PossiblyMissingElement(self.element).remove_all_children('timer')
     return self
コード例 #27
0
ファイル: generic.py プロジェクト: victoryw/gomatic
 def remove_all(self):
     PossiblyMissingElement(self.element).possibly_missing_child("environmentvariables").remove_all_children()
コード例 #28
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def remove_materials(self):
     PossiblyMissingElement(self.element).remove_all_children('materials')
コード例 #29
0
 def __possibly_missing_server_element(self):
     return PossiblyMissingElement(self.__xml_root).possibly_missing_child('server')
コード例 #30
0
ファイル: pipelines.py プロジェクト: victoryw/gomatic
 def tabs(self):
     return [Tab(e.attrib['name'], e.attrib['path']) for e in PossiblyMissingElement(self.__element).possibly_missing_child('tabs').findall('tab')]
コード例 #31
0
 def agents(self):
     return [Agent(e) for e in PossiblyMissingElement(self.__xml_root).possibly_missing_child('agents').findall('agent')]
コード例 #32
0
 def make_empty(self):
     PossiblyMissingElement(self.element).remove_all_children()
コード例 #33
0
ファイル: generic.py プロジェクト: compwron/gomatic
 def users(self):
     guarded_element = PossiblyMissingElement(self.element)
     if guarded_element.possibly_missing_child('approval').has_attribute('type', 'manual'):
         return set([e.text for e in guarded_element.possibly_missing_child('approval').possibly_missing_child('authorization').findall('user')])
     else:
         return None