def get_cis_by_query(self, **kwargs): """ get all cis that match a certain query parameter :param kwargs: possible query parameters possible parameters: 'parent', 'ancestor', 'namePattern', 'lastModifiedBefore', 'lastModifiedAfter', 'page' and 'resultsPerPage' :return: list of ci objects """ cis = CiSet() for k in kwargs.iterkeys(): if k not in VALID_QUERY_PARAMETERS: logger.error('"query parameter: %s not allowed" % k') raise IllegalQueryParameter("query parameter: %s not allowed" % k) if 'resultsPerPage' not in kwargs.iterkeys(): kwargs['resultsPerPage'] = '-1' try: logger.debug('trying to retrieve a set of cis') root = ET.fromstring(self.http_get_query('repository/query', kwargs)) logger.debug('retrieval succesfull') except Exception: logger.error('to retrieve cis') return False for elem in root.findall('ci'): logger.debug('appending; %s' % elem.attrib['ref']) ci = (self.get_ci_by_name(elem.attrib['ref'])) cis.add_ci(ci) return cis
def get_cis_by_query(self, **kwargs): """ get all cis that match a certain query parameter :param kwargs: possible query parameters possible parameters: 'parent', 'ancestor', 'namePattern', 'lastModifiedBefore', 'lastModifiedAfter', 'page' and 'resultsPerPage' :return: list of ci objects """ cis = CiSet() for k in kwargs.iterkeys(): if k not in VALID_QUERY_PARAMETERS: logger.error('"query parameter: %s not allowed" % k') raise IllegalQueryParameter("query parameter: %s not allowed" % k) if 'resultsPerPage' not in kwargs.iterkeys(): kwargs['resultsPerPage'] = '-1' try: logger.debug('trying to retrieve a set of cis') root = ET.fromstring( self.http_get_query('repository/query', kwargs)) logger.debug('retrieval succesfull') except Exception: logger.error('to retrieve cis') return False for elem in root.findall('ci'): logger.debug('appending; %s' % elem.attrib['ref']) ci = (self.get_ci_by_name(elem.attrib['ref'])) cis.add_ci(ci) return cis
def handle_directory_data(data, project_name, sub_projects): ciset = CiSet() for type, ids in data.items(): for id in ids: for i in get_id_list(id, project_name, sub_projects): ci = create_ci(i, type) ciset.add_ci(ci) repo.save_cis(ciset)
import xldeploy from xldeploy.repository.configuration_item import CiSet repo = xldeploy.connect_repository() cis = repo.get_cis_by_query(parent='Infrastructure') ## test iteration for ci in cis: repo.update_ci(ci) ## test __str__ print str(cis) for ci in cis: ci.update_ci_properties(tags=['blah31', 'blah41', 'blah51']) repo.update_cis(cis) xcis = CiSet() for ci in cis: nci = ci nci.update_id("%s_test2" % ci.get_id()) xcis.add_ci(nci) repo.create_cis(xcis)
import xldeploy from xldeploy.repository.configuration_item import CiSet repo = xldeploy.connect_repository() cis = repo.get_cis_by_query(parent = 'Infrastructure' ) ## test iteration for ci in cis: repo.update_ci(ci) ## test __str__ print str(cis) for ci in cis: ci.update_ci_properties(tags = ['blah31', 'blah41', 'blah51']) repo.update_cis(cis) xcis = CiSet() for ci in cis: nci = ci nci.update_id("%s_test2" % ci.get_id()) xcis.add_ci(nci) repo.create_cis(xcis)