예제 #1
0
def pull_request_row(request, owner, project, pr_number):
    project_ = Project.objects.filter(owner=owner, name=project).all()[0]
    pr = PullRequest.objects.get(project=project_, number=int(pr_number))
    if not pr.open:
        data = {'open': False, 'pr_id': _make_pr_id(pr)}
        return HttpResponse(json.dumps(data), content_type='application/json')
    build = JenkinsBuild.search_pull_request(project_, pr.number)
    row = _get_row_dict(project_, pr, build)
    return HttpResponse(json.dumps(row), content_type='application/json')
예제 #2
0
def _get_build(project_name, pr_number, build_number=None):
    try:
        project = Project.get(project_name)
    except Exception:
        logger.exception()
        return None
    if project is None:
        logger.info('project not found: {0!r}'.format(
            project_name))
        return None
    build = JenkinsBuild.search_pull_request(
        project, int(pr_number), build_number=build_number)
    if build is None:
        logger.info('Build not found: PR {0}, build {1}'.format(
            pr_number, build_number))
        return None
    return build
예제 #3
0
def _get_pr_build_list(project, pull_requests):
    return [(_make_pr_id(pr), pr, JenkinsBuild.search_pull_request(
        project, pr.number)) for pr in pull_requests]