def update_status_ticket(self, **kwargs): self._dict_database["session"] = cherrypy.request.db input_json = cherrypy.request.json persistent_controller = PersistentController( dict_database=self._dict_database) return persistent_controller.update_status_ticket(input_json)
def linking_tickets(self, **kwargs): self._dict_database["session"] = cherrypy.request.db input_json = cherrypy.request.json persistent_controller = PersistentController( dict_database=self._dict_database) return persistent_controller.linking_tickets(input_json)
def process_ticket_library(self, **kwargs): self._dict_database["session"] = cherrypy.request.db input_json = cherrypy.request.json persistent_controller = PersistentController( dict_database=self._dict_database) return persistent_controller.process_library_ticket(input_json)
def process_ticket(self, **kwargs): self._dict_database["session"] = cherrypy.request.db input_json = cherrypy.request.json persistent_controller = PersistentController( dict_database=self._dict_database) json_result = persistent_controller.process_ticket_artifact(input_json) return json_result
def test_04(self): driver = PersistentController("../board.cfg") dict_branch = { "feature2": [{ "id_artifact": 1, "email": "*****@*****.**", "id_type_tech": 1 }] } dict_result = driver.process_ticket_db(dict_branch, 2) self.assertEqual(dict_result["result"], "OK")
def monitor_repository(): connected_trello = False task_manager = None if TaskManager.validate_connection(): task_manager = TaskManager(config_file) connected_trello = True repository_listener = RepositoryListener(config_file) is_branch_behind = repository_listener.is_behind() branch_repository = repository_listener.get_current_branch() logger.info("is behind: %s ", is_branch_behind) if is_branch_behind: persistent_controller = PersistentController(config_file) dict_branch, id_branch = repository_listener.get_branch_ticket( branch_repository, persistent_controller) logger.info("after get_branch_ticket, dict_branch: %s" % dict_branch) dict_board_result = persistent_controller.process_ticket_db( dict_branch, id_branch) if dict_board_result['result'] == 'OK': list_board_ticket = dict_board_result['board_ticket'] email_tracker = EmailTracker(config_file) # get each ticket at board for board_ticket in list_board_ticket: if connected_trello: dict_result = task_manager.send_ticket_card(board_ticket) if dict_result["result"] == "OK": dict_board = board_ticket['dict_board'] m_card = dict_result['result_card'] dict_board['id_card_tracker'] = m_card.id persistent_controller.update_ticket_db(dict_board) else: logger.error("error send to trello: %s", dict_result["description"]) # dict_board_code = board_ticket['dict_board'] logger.info("board_ticket: %s" % board_ticket) message_email = email_tracker.get_email_ticket_request( board_ticket) logger.info("sending email...") email_tracker.send_email(message_email) #result_pull = repository_listener.update_local_repository() else: logger.error("error at process_ticket_db: %s" % dict_board_result["description"]) persistent_controller.close_session()
def listen_email(self): persistent_controller = PersistentController(self.config_file) mail = imaplib.IMAP4_SSL(self.imap_server) mail.login(self.email_account, self.email_password) mail.list() mail.select('inbox') email_parser = EmailParser() subject_defect = self.config.get('SettingEmail', 'subject.defect') substring_start = self.config.get('SettingEmail', 'substring.to.start') typ, data = mail.search(None, '(UNSEEN SUBJECT "%s")' % subject_defect) messages = data[0].split() for message_uid in messages: result, data = mail.uid('fetch', message_uid, '(RFC822)') raw_body = data[0][1] email_message = self.get_decoded_email_body(raw_body) # print ("result: %s" % result) # print ("body_email: %s" % email_message) dict_defect = email_parser.parse_mail_defect(email_message) if dict_defect: logger.info("dict_defect: %s" % dict_defect) persistent_controller.process_library_ticket(dict_defect)
def test_01(self): driver = PersistentController("../board.cfg") row = driver.get_ticket_board('feature2') print row.id_ticket self.assertIsNotNone(row, 'error ticket does not exist')
def test_03(self): driver = PersistentController("../board.cfg") dict = driver.get_dict_board_code('feature2') print dict self.assertIsNotNone(dict, 'error getting board code')
def test_02(self): driver = PersistentController("../board.cfg") row = driver.get_ticket_board('noticket') print row self.assertFalse(row, 'test fail')
self.assertIsNotNone(dict, 'error getting board code') def test_04(self): driver = PersistentController("../board.cfg") dict_branch = { "feature2": [{ "id_artifact": 1, "email": "*****@*****.**", "id_type_tech": 1 }] } dict_result = driver.process_ticket_db(dict_branch, 2) self.assertEqual(dict_result["result"], "OK") if __name__ == '__main__': driver = PersistentController("../board.cfg") print driver.get_list_artifacts() dict_branch = { "feature2": [{ "id_artifact": 1, "email": "*****@*****.**", "id_type_tech": 1 }] } dict_result = driver.process_ticket_db(dict_branch, 2) print "process_ticket_db...OK" print("dic_result", dict_result)