Example #1
0
def create_update_issue(project_id, issue_ref):
    api = GithubApi(token=config[project_id].GITHUB_TOKEN)
    github_issue = api.get('/repos/%s/issues/%s' % (config[project_id].TRACKER_PROJECT, issue_ref))
    if github_issue == None:
        return None
    
    issue = create_update_issue_from_github_issue(project_id, github_issue)
    update_button(project_id, github_issue)
    return issue
Example #2
0
def sync_issues(project_id):
    project = Project.query.get(project_id)
    api = GithubApi(token=config[project_id].GITHUB_TOKEN)
    updated_issues = []
    page = 1

    while True:
        github_issues = api.get('/repos/%s/issues' % config[project_id].TRACKER_PROJECT,
                per_page=RESULTS_PER_PAGE, page=page)

        if not github_issues:
            break

        for github_issue in github_issues:
            issue = create_update_issue_from_github_issue(project_id, github_issue)
            button = update_button(project, github_issue)
            if issue or button:
                updated_issues.append(github_issue.number)
        
        page += 1

    return updated_issues