def write_issues(self, portfolio_id=None, **config):
        """write_issues method will process the issues of a company."""
        chk_point_name = ""
        try:
            issues = self.__company.get_issues(**config)
        except NoDataError as err:
            logging.warn("SecurityScorecard Connector: Data {}".format(err))
            self.save_checkpoint(portfolio_id, **config)
            return
        except SSIssueException as err:
            logging.error("SecurityScorecard Connector: Error occurred  {}".format(err))
            raise err
        else:
            new_from_date = ""
            if not issues:
                return

            try:
                industry_name = self.__company.get_industry_name()
            except SSIssueException as err:
                logging.error("SecurityScorecard Connector: {}".format(err))

            max_date = '0001-01-01T00:00:00.000Z'
            for issue in issues:
                if issue["date"] > max_date:
                    max_date = issue["date"]
                issue["industry"] = industry_name
                issue["severity"] = config.get("level_issue_change", "NA")
                issue["portfolioId"] = config.get("portfolioId", "NA")
                issue["portfolioName"] = config.get("portfolioName", "NA")
            data = json.dumps(issues, indent=4)
            self.azuresentinel.post_data(
                customer_id, data, SECURITY_SCORECARD_ISSUE_TABLE_NAME
            )

            try:
                chk_point_name = self.__company.domain
                from_date = max_date[:10]
                from_date_data = str(
                    (
                        datetime.datetime.strptime(from_date, "%Y-%m-%d")
                        + datetime.timedelta(days=1)
                    ).date()
                )
                todays_date = str(datetime.datetime.now().date())
                new_from_date = "%s|%s" % (from_date_data, todays_date)
            except SSIssueException as err:
                logging.error("SecurityScorecard Connector: {}".format(err))
                return

            check_point_data_all_companies = self.state_manager_object.get()
            check_point_data_all_companies = json.loads(check_point_data_all_companies)
            if portfolio_id is None:
                check_point_data_all_companies[chk_point_name] = new_from_date
            else:
                check_point_data_all_companies[portfolio_id]["companies"][
                    chk_point_name
                ] = new_from_date
            self.state_manager_object.post(json.dumps(check_point_data_all_companies))
            logging.info(
                "SecurityScorecard Connector: checkpoint is saved with {} name and {} date".format(
                    chk_point_name, new_from_date
                )
            )
write_issues method will process the issues of a company.
Solutions/SecurityScorecard Cybersecurity Ratings/Data Connectors/SecurityScorecardIssue/SecurityScorecardIssueSentinelConnector/writers.py