def create_milestones(self, github_data): """ Scan all issues and pull requests in a `github_data` dict from `self.load_data(...)` and Link them into a github milestone for that release """ # Load repository data (is needed?) repo_name = github_data.get('name') github = Github(login_or_token=self.github_token).get_repo(f'{self.github_user}/{repo_name}') milestone_title = github_data.get('tag_to') milestone_num = self._find_milestone(github_data.get('name'), milestone_title) # Get or Create milestone if milestone_num == -1: milestone = github.create_milestone(milestone_title) else: milestone = github.get_milestone(milestone_num) # Assgin pull requesuts/issues to milestone for pr in github_data.get('pull_requests'): pull_request = pr.get('pull_request') pull_request.as_issue().edit(milestone=milestone) self.logger.info(f'PR-{pull_request.number}, added to milestone "{milestone.title}"') for issue in pr.get('linked_issues'): issue.edit(milestone=milestone) self.logger.info(f'Issue #{issue.number}, added to milestone "{milestone.title}"')